Hi, On Sat, 3 Nov 2007, Mike Hommey wrote: > On Sat, Nov 03, 2007 at 11:54:38AM +0000, Johannes Schindelin wrote: > > > +{ > > > + int i; > > > + unsigned long size; > > > + enum object_type type; > > > + char *buf, *sp, *eol; > > > + size_t len; > > > + > > > + sp = buf = read_sha1_file(sha1, &type, &size); > > > + if (!buf) > > > + return; > > > + if (!size || (type != OBJ_TAG)) { > > > > Please lose the extra parents. > > What do you mean ? Typo. I meant the parens, and my fingers typed parents. D'oh. > (...) > > This can be done much easier with 'sp = strstr(buf, "\n\n");'. You can > > even do that before the previous if(), to free() && return if there is no > > body. > (...) > > This can be done much easier with 'eob = strstr(sp, "\n" PGP_SIGNATURE > > "\n");'. > > I must say I just stole most of it in show_reference() in the same file. I agree for the "\n\n"; this was my mistake (IOW it should be fixed both in show_reference() as well as in your code). But for the signature, show_reference() _has_ to go line by line, because the user is allowed to specify a maximal line count. This does not apply for your function. > (...) > > Why not teach write_annotations() (or write_tag_body() like I would prefer > > it to be called) to grok a null_sha1? It's not like we care for > > performance here, but rather for readability and ease of use. > > I would have if I had looked up for is_null_sha1() earlier ;) Hehe. This is what I really like about git's mailing list: it is a place where you learn something new every day. Ciao, Dscho - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html