One day someone will do something like strncat(a += previous_delta, ...).
char* mystrncat(char *a, const char *b, size_t maxlen){ snprintf(a + strlen(a), maxlen - strlen(a), "%s", b); return a; }
#define strncat(_a, b, maxlen) ({char* a = _a; snprintf(a + strlen(a), maxlen - strlen(a), "%s", b); _a;})
One day someone will do something like strncat(a += previous_delta, ...).