- if (list[bufnum].text == 0
- || want > list[bufnum].size)
- {
- if ((list[bufnum].text = typeRealloc(char, want, list[bufnum].text)) != 0)
- list[bufnum].size = want;
- }
+/*
+ * Append a new string to an existing buffer.
+ */
+NCURSES_EXPORT(char *)
+_nc_trace_bufcat(int bufnum, const char *value)
+{
+ char *buffer = _nc_trace_alloc(bufnum, (size_t) 0);
+ if (buffer != 0) {
+ size_t have = strlen(buffer);
+ size_t need = strlen(value) + have;
+
+ buffer = _nc_trace_alloc(bufnum, 1 + need);
+ if (buffer != 0)
+ _nc_STRCPY(buffer + have, value, need);