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

Re: [bug report] git-am applying maildir patches in reverse

From
Jeff King <peff@peff.net>
Date
Mar 3, 2013, 06:26 UTC
Message-ID
<20130303062647.GA23221@sigill.intra.peff.net>
In-Reply-To
<m28v66198o.fsf@igel.home>
On Sat, Mar 02, 2013 at 09:44:39AM +0100, Andreas Schwab wrote:
> > +	return *a - *b;
> 
> You should always cast to unsigned char when determining the order of
> characters, to be consistent with strcmp/memcmp.

Thanks, I hadn't heard that advice before, but it makes obvious sense. Junio, do you want to squash this on top?

diff --git a/builtin/mailsplit.c b/builtin/mailsplit.c
index 1ddbff4..06296d4 100644
--- a/builtin/mailsplit.c
+++ b/builtin/mailsplit.c
@@ -143,12 +143,12 @@ static int maildir_filename_cmp(const char *a, const char *b)
 		}
 		else {
 			if (*a != *b)
-				return *a - *b;
+				return (unsigned char)*a - (unsigned char)*b;
 			a++;
 			b++;
 		}
 	}
-	return *a - *b;
+	return (unsigned char)*a - (unsigned char)*b;
 }
 
 static int split_maildir(const char *maildir, const char *dir,

-Peff
Previous: Jeff King
Message 14 of 14 in “[bug report] git-am applying maildir patches in reverse”
  1. William GiokasMar 1, 2013
  2. Junio C HamanoMar 1, 2013
  3. Jeff KingMar 1, 2013
  4. Jeff KingMar 1, 2013
  5. Junio C HamanoMar 1, 2013
  6. Jeff KingMar 1, 2013
  7. Junio C HamanoMar 1, 2013
  8. Jeff KingMar 2, 2013
  9. Junio C HamanoMar 2, 2013
  10. Jeff KingMar 2, 2013
  11. Andreas SchwabMar 2, 2013
  12. Junio C HamanoMar 3, 2013
  13. Jeff KingMar 3, 2013
  14. Jeff KingMar 3, 2013

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.