Johannes Schindelin [off-list ref] 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.