X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev.h;h=8752f595d6699e7862d8a9b1b80e52dc951b5b8b;hp=9327e90913a9ca4d0355856528177ed3deca4b6b;hb=49f9acf3844aa5c004b5794e919bd54166e53227;hpb=9fe3f9a9389bb06cf645d33cbb2b45e1f63d737c diff --git a/udev.h b/udev.h index 9327e9091..8752f595d 100644 --- a/udev.h +++ b/udev.h @@ -73,13 +73,13 @@ do { \ strncat(to, from, sizeof(to) - strlen(to)-1); \ } while (0) -#define strnfieldcpy(to, from, maxsize) \ +#define strfieldcpymax(to, from, maxsize) \ do { \ to[maxsize-1] = '\0'; \ strncpy(to, from, maxsize-1); \ } while (0) -#define strnfieldcat(to, from, maxsize) \ +#define strfieldcatmax(to, from, maxsize) \ do { \ to[maxsize-1] = '\0'; \ strncat(to, from, maxsize - strlen(to)-1); \ @@ -91,16 +91,16 @@ do { \ snprintf((to) + strlen(to), sizeof(to) - strlen(to)-1, "%u", i); \ } while (0) -#define strnintcat(to, i, maxsize) \ +#define strintcatmax(to, i, maxsize) \ do { \ to[maxsize-1] = '\0'; \ snprintf((to) + strlen(to), maxsize - strlen(to)-1, "%u", i); \ } while (0) #define foreach_strpart(str, separator, pos, len) \ - for(pos = 0, len = strcspn(str, separator); \ - (pos) < strlen(str); \ - pos = pos + (len) + 1, len = strcspn((str) + pos, separator)) \ + for(pos = str, len = 0; \ + (pos) < ((str) + strlen(str)); \ + pos = pos + len + strspn(pos, separator), len = strcspn(pos, separator)) \ if (len > 0) static inline char *get_action(void)