Something
public c v1 · immutable /* copy of before the name_gen */ strncpy(newbuf, buf, buf - c2); /* replace name_gen */ strncpy(newbuf + (buf - c2), name_gen, strlen(name_gen)); /* copy after of the name_gen */ strncpy(newbuf + (buf - c2) + strlen(name_gen), buf + (buf - c2), strlen(newbuf - (buf - c2));