git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <paolo.bonzini@lu.unisi.ch>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: bonzini@gnu.org, git@vger.kernel.org
Subject: Re: [PATCH 1/3] git-branch: add --track and --no-track options
Date: Mon, 05 Mar 2007 22:19:21 +0100	[thread overview]
Message-ID: <45EC8959.1090303@lu.unisi.ch> (raw)
In-Reply-To: <Pine.LNX.4.63.0703051930560.22628@wbgn013.biozentrum.uni-wuerzburg.de>


>> There is.  The man page says "Scanning stops when an input character 
>> does not match such a format character."  Scanning includes not 
>> processing %n elements, either.
> 
> So, if you want to be that precise, it never says that it does not touch 
> the pointers passed to it.

It cannot know that there *are* any pointers unless it goes on scanning the format string.  Since the function it varargs, it cannot *guess* that there are any without scanning that the documentation says does not happen.  Anyway...

> But it states very clearly what the return 
> value is in case of a failure.

Actually ISTR that %n is not counted in the return value and that's why I wrote the code this way.

> Yes, this is what the source does. But again, the return value is what you 
> should -- and indeed forever can -- rely on. I am not really happy that 
> dwim_ref() touches ref, even if nothing was found, but it is an 
> _implementation detail_.

It's not fair to not have any documentation in the code, force the contributor to reverse engineer the documentation, and say it is relying on an implementation detail.  In otherwise undocumented code, implementation == interface.

Paolo

  reply	other threads:[~2007-03-05 21:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-05  8:57 [PATCH 1/3] git-branch: add --track and --no-track options Paolo Bonzini
2007-03-05 14:50 ` Johannes Schindelin
2007-03-05 15:22   ` Paolo Bonzini
2007-03-05 16:09     ` Johannes Schindelin
2007-03-05 17:22       ` Paolo Bonzini
2007-03-05 15:36   ` Paolo Bonzini
2007-03-05 15:58     ` Johannes Schindelin
2007-03-05 16:54       ` Paolo Bonzini
2007-03-05 17:16         ` Johannes Schindelin
2007-03-05 17:22           ` Paolo Bonzini
2007-03-05 18:37             ` Johannes Schindelin
2007-03-05 21:19               ` Paolo Bonzini [this message]
2007-03-05 21:27                 ` Junio C Hamano
2007-03-06  7:23                   ` Paolo Bonzini
2007-03-05 23:09                 ` Johannes Schindelin
2007-03-06  6:45 ` Junio C Hamano
2007-03-06  7:26   ` Paolo Bonzini
2007-03-06  7:40     ` Junio C Hamano
2007-03-06  7:48       ` Paolo Bonzini
2007-03-06  8:22         ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45EC8959.1090303@lu.unisi.ch \
    --to=paolo.bonzini@lu.unisi.ch \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=bonzini@gnu.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).