char buf[] = "test\ntest1";
char buf1[] = "test\n#test1";
char buf2[] = "test\ntest1\ntest2";
struct sbuf *b = sbuf_new_auto();
merge_3way(buf, buf1, buf2, b);
sbuf_finish(b);
printf("Vanilla:\n---\n%s\n---\n", buf);
printf("Modified:\n---\n%s\n---\n", buf1);
printf("New:\n---\n%s\n---\n", buf2);
printf("Result:\n---\n%s\n---\n", sbuf_data(b));