version 1.1.1.1, 2012/02/21 22:57:48
|
version 1.1.1.2, 2012/05/29 09:29:43
|
Line 1
|
Line 1
|
/* |
/* |
* Copyright (C) 1999-2008 Free Software Foundation, Inc. | * Copyright (C) 1999-2008, 2011 Free Software Foundation, Inc. |
* This file is part of the GNU LIBICONV Library. |
* This file is part of the GNU LIBICONV Library. |
* |
* |
* The GNU LIBICONV Library is free software; you can redistribute it |
* The GNU LIBICONV Library is free software; you can redistribute it |
Line 25
|
Line 25
|
#include "config.h" |
#include "config.h" |
#include "localcharset.h" |
#include "localcharset.h" |
|
|
|
#ifdef __CYGWIN__ |
|
#include <cygwin/version.h> |
|
#endif |
|
|
#if ENABLE_EXTRA |
#if ENABLE_EXTRA |
/* |
/* |
* Consider all system dependent encodings, for any system, |
* Consider all system dependent encodings, for any system, |
Line 549 const char * iconv_canonicalize (const char * name)
|
Line 553 const char * iconv_canonicalize (const char * name)
|
} |
} |
if (ap->encoding_index == ei_local_wchar_t) { |
if (ap->encoding_index == ei_local_wchar_t) { |
/* On systems which define __STDC_ISO_10646__, wchar_t is Unicode. |
/* On systems which define __STDC_ISO_10646__, wchar_t is Unicode. |
This is also the case on native Woe32 systems. */ | This is also the case on native Woe32 systems and Cygwin >= 1.7, where |
#if __STDC_ISO_10646__ || ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) | we know that it is UTF-16. */ |
| #if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || (defined __CYGWIN__ && CYGWIN_VERSION_DLL_MAJOR >= 1007) |
| if (sizeof(wchar_t) == 4) { |
| index = ei_ucs4internal; |
| break; |
| } |
| if (sizeof(wchar_t) == 2) { |
| # if WORDS_LITTLEENDIAN |
| index = ei_utf16le; |
| # else |
| index = ei_utf16be; |
| # endif |
| break; |
| } |
| #elif __STDC_ISO_10646__ |
if (sizeof(wchar_t) == 4) { |
if (sizeof(wchar_t) == 4) { |
index = ei_ucs4internal; |
index = ei_ucs4internal; |
break; |
break; |