~ubuntu-branches/ubuntu/utopic/coreutils/utopic-proposed

« back to all changes in this revision

Viewing changes to lib/localcharset.c

  • Committer: Package Import Robot
  • Author(s): Colin Watson
  • Date: 2012-11-28 03:03:42 UTC
  • mfrom: (8.3.4 sid)
  • Revision ID: package-import@ubuntu.com-20121128030342-21zanj8354gas5gr
Tags: 8.20-3ubuntu1
* Resynchronise with Debian.  Remaining changes:
  - Make 'uname -i -p' return the real processor/hardware, instead of
    unknown.
  - Build-depend on gettext:any instead of on gettext, so that apt-get can
    properly resolve build-dependencies on the tool when cross-building.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -*- buffer-read-only: t -*- vi: set ro: */
2
 
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
3
1
/* Determine a canonical name for the current locale's character encoding.
4
2
 
5
 
   Copyright (C) 2000-2006, 2008-2011 Free Software Foundation, Inc.
 
3
   Copyright (C) 2000-2006, 2008-2012 Free Software Foundation, Inc.
6
4
 
7
5
   This program is free software; you can redistribute it and/or modify
8
6
   it under the terms of the GNU General Public License as published by
15
13
   GNU General Public License for more details.
16
14
 
17
15
   You should have received a copy of the GNU General Public License along
18
 
   with this program; if not, write to the Free Software Foundation,
19
 
   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
16
   with this program; if not, see <http://www.gnu.org/licenses/>.  */
20
17
 
21
18
/* Written by Bruno Haible <bruno@clisp.org>.  */
22
19
 
32
29
#include <stdlib.h>
33
30
 
34
31
#if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET
35
 
# define DARWIN7 /* Darwin 7 or newer, i.e. MacOS X 10.3 or newer */
 
32
# define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */
36
33
#endif
37
34
 
38
35
#if defined _WIN32 || defined __WIN32__
39
 
# define WIN32_NATIVE
 
36
# define WINDOWS_NATIVE
40
37
#endif
41
38
 
42
39
#if defined __EMX__
46
43
# endif
47
44
#endif
48
45
 
49
 
#if !defined WIN32_NATIVE
 
46
#if !defined WINDOWS_NATIVE
50
47
# include <unistd.h>
51
48
# if HAVE_LANGINFO_CODESET
52
49
#  include <langinfo.h>
59
56
#  define WIN32_LEAN_AND_MEAN
60
57
#  include <windows.h>
61
58
# endif
62
 
#elif defined WIN32_NATIVE
 
59
#elif defined WINDOWS_NATIVE
63
60
# define WIN32_LEAN_AND_MEAN
64
61
# include <windows.h>
65
62
#endif
85
82
#endif
86
83
 
87
84
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
88
 
  /* Win32, Cygwin, OS/2, DOS */
 
85
  /* Native Windows, Cygwin, OS/2, DOS */
89
86
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
90
87
#endif
91
88
 
125
122
  cp = charset_aliases;
126
123
  if (cp == NULL)
127
124
    {
128
 
#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__)
 
125
#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__)
129
126
      const char *dir;
130
127
      const char *base = "charset.alias";
131
128
      char *file_name;
310
307
           "DECKOREAN" "\0" "EUC-KR" "\0";
311
308
# endif
312
309
 
313
 
# if defined WIN32_NATIVE || defined __CYGWIN__
 
310
# if defined WINDOWS_NATIVE || defined __CYGWIN__
314
311
      /* To avoid the troubles of installing a separate file in the same
315
312
         directory as the DLL and of retrieving the DLL's directory at
316
313
         runtime, simply inline the aliases here.  */
362
359
  const char *codeset;
363
360
  const char *aliases;
364
361
 
365
 
#if !(defined WIN32_NATIVE || defined OS2)
 
362
#if !(defined WINDOWS_NATIVE || defined OS2)
366
363
 
367
364
# if HAVE_LANGINFO_CODESET
368
365
 
409
406
            }
410
407
        }
411
408
 
412
 
      /* Woe32 has a function returning the locale's codepage as a number:
413
 
         GetACP().  This encoding is used by Cygwin, unless the user has set
414
 
         the environment variable CYGWIN=codepage:oem (which very few people
415
 
         do).
 
409
      /* The Windows API has a function returning the locale's codepage as a
 
410
         number: GetACP().  This encoding is used by Cygwin, unless the user
 
411
         has set the environment variable CYGWIN=codepage:oem (which very few
 
412
         people do).
416
413
         Output directed to console windows needs to be converted (to
417
414
         GetOEMCP() if the console is using a raster font, or to
418
415
         GetConsoleOutputCP() if it is using a TrueType font).  Cygwin does
455
452
 
456
453
# endif
457
454
 
458
 
#elif defined WIN32_NATIVE
 
455
#elif defined WINDOWS_NATIVE
459
456
 
460
457
  static char buf[2 + 10 + 1];
461
458
 
462
 
  /* Woe32 has a function returning the locale's codepage as a number:
463
 
     GetACP().
 
459
  /* The Windows API has a function returning the locale's codepage as a
 
460
     number: GetACP().
464
461
     When the output goes to a console window, it needs to be provided in
465
462
     GetOEMCP() encoding if the console is using a raster font, or in
466
463
     GetConsoleOutputCP() encoding if it is using a TrueType font.
545
542
  if (codeset[0] == '\0')
546
543
    codeset = "ASCII";
547
544
 
 
545
#ifdef DARWIN7
 
546
  /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8"
 
547
     (the default codeset) does not work when MB_CUR_MAX is 1.  */
 
548
  if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX <= 1)
 
549
    codeset = "ASCII";
 
550
#endif
 
551
 
548
552
  return codeset;
549
553
}