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); \
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)