-#define SHOW(m, s) if ((code & m) == m) strcat(strcat(my_buffer, s), ", ")
+#define SHOW(m, s) \
+ if ((code & m) == m) { \
+ size_t n = strlen(my_buffer); \
+ if (n && (my_buffer[n-1] != '{')) \
+ _nc_STRCAT(my_buffer, ", ", sizeof(my_buffer)); \
+ _nc_STRCAT(my_buffer, s, sizeof(my_buffer)); \
+ }