diff options
author | Benno Schulenberg <bensberg@telfort.nl> | 2018-04-21 11:08:08 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2018-04-21 12:36:53 +0200 |
commit | 214bf852d8dab02bf62900e61facef2c9f48f2f4 (patch) | |
tree | a9bcad2a1b1ba3d55ecb5f426777dc2ff3c85018 /lib | |
parent | ba54e151255c0d983c49205d73cd62029d1dbaaa (diff) | |
download | gnulib-214bf852d8dab02bf62900e61facef2c9f48f2f4.tar.gz |
localcharset: short-circuit the search for an alias on a Mac
* lib/localcharset.c (get_charset_aliases): Add a tautological
UTF-8 entry to speed up the search for this case.
Most machines default to a UTF-8 locale nowadays, so begin the
list of aliases with a dummy UTF-8 entry so it will be found
immediately and a time-consuming search through the rest of
the list is avoided.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/localcharset.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/localcharset.c b/lib/localcharset.c index a73d6bdd14..04eaf071d6 100644 --- a/lib/localcharset.c +++ b/lib/localcharset.c @@ -262,8 +262,10 @@ get_charset_aliases (void) # if defined DARWIN7 /* To avoid the trouble of installing a file that is shared by many GNU packages -- many packaging systems have problems with this --, - simply inline the aliases here. */ - cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" + simply inline the aliases here. + For speed, map the most frequent case first. */ + cp = "UTF-8" "\0" "UTF-8" "\0" + "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-4" "\0" "ISO-8859-4" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" |