From 4a1c9c120af859665c37fa9d45cbf737c303c06d Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sat, 28 Apr 2007 20:50:23 +1000 Subject: [BUILTIN] Fix mkbuiltin sort order On Fri, Feb 16, 2007 at 04:24:55PM -0800, Dan Nicholson wrote: > I was having a problem building dash where `:' wasn't being recognized > as a builtin command. I won't bore you with the details of the > debugging, but it came down to the fact that the generated struct in > builtins.c wasn't being sorted correctly. The ":" name was coming > before the "." name and then was never able to be found by bsearch(). > > The issue turned out to be that I was building with a UTF-8 charset, > causing the `sort' to come out differently from the mkbuiltins script. > When I finally set LANG=C, it came out correct. Here's an example of > the difference. > > $ LANG=C sort << "EOF" > : > . > EOF > . > : > $ LANG=en_US.ISO-8859-1 sort << "EOF" > : > . > EOF > : > . > > My system has glibc-2.3.6, but I also tested it on an RHEL3 server at > work. My solution was just to add LC_ALL=C to the mkbuiltins script. > Maybe it's overkill to use LC_ALL. Patch against HEAD attached. I've changed this patch so that we just set LC_COLLATE for the sort command. --- ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index ecaff93..1867b7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-04-28 Dan Nicholson + + * Set LC_COLLATE for sort in mkbuiltin. + 2006-10-22 Gerrit Pape * Fixed command -v segmentation fault. -- cgit 1.4.1