git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/3] dir.c: Omit non-excluded directories with dir->show_ignored

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
May 6, 2007, 19:42 UTC
Message-ID
<alpine.LFD.0.98.0705061239460.25245@woody.linux-foundation.org>
In-Reply-To
<463E19D4.4030400@uwaterloo.ca>
On Sun, 6 May 2007, Michael Spang wrote:
Show 6 quoted lines
> @@ -461,7 +462,7 @@ static int read_directory_recursive(struct dir_struct *dir, const char *path, co
>  			memcpy(fullname + baselen, de->d_name, len+1);
>  			if (simplify_away(fullname, baselen + len, simplify))
>  				continue;
> -			if (excluded(dir, fullname) != dir->show_ignored) {
> +			if ((exclude = excluded(dir, fullname)) != dir->show_ignored) {
Style issue: please write this as
			exclude = excluded(dir, fullname);
			if (exclude != dir->show_ignored) {
instead. 

Yes, both are valid C, and mean the same thing, but one is much more readable than the other.

Combining multiple things inside an if-statement is convenient if:
 - the things inside are _really_ trivial.
 - it's done as part of macro expansion etc (ie it's not visible as such, 
   and the code is readable in its pre-preprocessor format)
but it's not good form otherwise.
		Linus
Previous: Michael SpangNext: Michael Spang
Message 2 of 8 in “dir.c: Omit non-excluded directories with dir->show_ignored”
  1. 2/3 dir.c: Omit non-excluded directories with dir->show_ignoredMichael Spang, May 6, 2007
  2. Linus TorvaldsMay 6, 2007
  3. Michael SpangMay 6, 2007
  4. Michael SpangMay 7, 2007
  5. 3/3 Fix minor documentation errorsMichael Spang, May 6, 2007
  6. 4/3 t7300: Tests for git-clean using filenames with spaces/punctuationMichael Spang, May 6, 2007
  7. Junio C HamanoMay 6, 2007
  8. Michael SpangMay 6, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.