Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > If you care deeply about double dashes and leading dashes, how about > this instead? > > char *from, *to; > > for (from = to = label.buf; *from; from++) > if ((*from & 0x80) || isalnum(*from)) > *(to++) = *from; > /* avoid leading dash and double-dashes */ > else if (to != label.buf && to[-1] != '-') > *(to++) = '-'; > strbuf_setlen(&label, to - label.buf); Simple enough and is a good change when judged locally. It still would cause readers to wonder if label_oid() later append '-%d' to end up with double-dash near the end, etc., which made me wonder if the resulting code becomes better if sanitization and uniquefying are done at the same single place in the other message.