Re: [PATCH 1/1] rebase -r: let `label` generate safer labels
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 3, 2019, 19:51 UTC
- Message-ID
- <xmqq5zm9taza.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <nycvar.QRO.7.76.6.1909031256290.46@tvgsbejvaqbjf.bet>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 12 quoted lines
> 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.