git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Linus Torvalds <torvalds@osdl.org>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] diff-cache path restriction fix.
Date: Tue, 24 May 2005 18:00:54 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.58.0505241757280.2307@ppc970.osdl.org> (raw)
In-Reply-To: <7vu0ksrv1v.fsf@assigned-by-dhcp.cox.net>



On Tue, 24 May 2005, Junio C Hamano wrote:
>
> It advertises the path restriction in documentation and usage
> string, but the argument parsing code was not updated and was
> causing it to refuse to run.  One liner fix is here.

No, it's more broken than that. Look at how it uses "argv[1]" for the tree
SHA1, then does "argv++" and then uses "argv[1]" (which is a totally
different argument entirely) for error reporting when the tree SHA1 is bad

> -	while (argc > 2) {
> +	while (1 < argc && argv[1][0] == '-') {

Btw, that "1 < argc" order is very unintuitive to most humans. Like it or 
not, people get used to things one way, and have a hard time seeing what 
it means when it's the other way around.

And when people have a hard time seeing what it means, you get more bugs.

This is why it is _not_ better to do 

	if (1 == a)

like some people teach, even if that protects against the "single equal
sign" bug. There are better ways to protect against that one bug (like
having compiler warnings enabled) that don't make the code less obvious.

		Linus

  reply	other threads:[~2005-05-25  0:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-25  0:47 [PATCH] diff-cache path restriction fix Junio C Hamano
2005-05-25  1:00 ` Linus Torvalds [this message]
2005-05-25  1:05   ` Junio C Hamano
2005-05-25  1:24     ` Linus Torvalds
2005-05-25  1:49       ` Junio C Hamano
2005-05-25  2:16         ` Russ Allbery
2005-05-25  2:33           ` Junio C Hamano
2005-05-25  3:04         ` Linus Torvalds
2005-05-25  3:22           ` Junio C Hamano
2005-05-25  9:06           ` Ingo Molnar
2005-05-25 17:07             ` Linus Torvalds
2005-05-25 19:14             ` Junio C Hamano
2005-05-25 19:17               ` Thomas Glanzmann
2005-05-25 20:31             ` Matthias Urlichs
2005-05-28  7:55         ` [OT] if (4 < number_of_children) you're in trouble Junio C Hamano
2005-05-25  8:31       ` [PATCH] diff-cache path restriction fix Ingo Molnar
2005-05-25 16:02     ` Florian Weimer

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=Pine.LNX.4.58.0505241757280.2307@ppc970.osdl.org \
    --to=torvalds@osdl.org \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).