From: Johannes Schindelin Date: Sun, 10 Jun 2007 09:01:44 GMT Subject: Re: [PATCH 06/21] Refactor tag name verification loop to use index 'i' instead of incrementing pointer 'tag_line' Message-ID: In-Reply-To: <200706090215.05318.johan@herland.net> Hi, On Sat, 9 Jun 2007, Johan Herland wrote: > diff --git a/mktag.c b/mktag.c > index 4dbefab..2e70504 100644 > --- a/mktag.c > +++ b/mktag.c > @@ -81,19 +81,22 @@ static int verify_tag(char *data, unsigned long size) > memcpy(type, type_line + 5, type_len); > type[type_len] = '\0'; > > - /* Verify that the object matches */ > - if (verify_object(sha1, type)) > - return error("char%d: could not verify object %s", 7, sha1_to_hex(sha1)); > - > - /* Verify the tag-name: we don't allow control characters or spaces in it */ > - tag_line += 4; > - for (;;) { > - unsigned char c = *tag_line++; > - if (c == '\n') > - break; > - if (c > ' ') > - continue; > - return error("char" PD_FMT ": could not verify tag name", tag_line - data); > + { > + unsigned long i; Do you realize that half of your diff consists of reindenting, just because you introduced this ugly construct, instead of being a good boy and put the declarations where they belong -- at the beginning of the function (or if it exists, block)? > + /* Verify the tag-name: we don't allow control characters or spaces in it */ > + for (i = 4;;) { Yes, you can write this construct. That does not change the fact that it gives me eye cancer. Ciao, Dscho