mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* nkf.c: update to r1.188. fixes for 16bit environment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2657faae01
commit
10ddffb278
4 changed files with 75 additions and 25 deletions
|
@ -1,3 +1,7 @@
|
|||
Fri Nov 7 11:55:30 2008 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* nkf.c: update to r1.188. fixes for 16bit environment.
|
||||
|
||||
Fri Nov 7 07:43:27 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* thread.c (thread_timer): pthread_cond_timedwait returns ETIMEDOUT
|
||||
|
|
|
@ -44,9 +44,8 @@
|
|||
|
||||
/* #define DEFAULT_CODE_JIS */
|
||||
/* #define DEFAULT_CODE_SJIS */
|
||||
/* #define DEFAULT_CODE_WINDOWS_31J */
|
||||
/* #define DEFAULT_CODE_EUC */
|
||||
/* #define DEFAULT_CODE_UTF8 */
|
||||
/* #define DEFAULT_CODE_LOCALE */
|
||||
|
||||
#endif /* _CONFIG_H_ */
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
***********************************************************************/
|
||||
#define NKF_IDENT "$Id$"
|
||||
#define NKF_VERSION "2.0.8"
|
||||
#define NKF_RELEASE_DATE "2008-10-28"
|
||||
#define NKF_RELEASE_DATE "2008-11-07"
|
||||
#define COPY_RIGHT \
|
||||
"Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa),2000 S. Kono, COW\n" \
|
||||
"Copyright (C) 2002-2008 Kono, Furukawa, Naruse, mastodon"
|
||||
|
@ -45,6 +45,11 @@
|
|||
#include <windows.h>
|
||||
#include <locale.h>
|
||||
#endif
|
||||
#if defined(__OS2__)
|
||||
# define INCL_DOS
|
||||
# define INCL_DOSERRORS
|
||||
# include <os2.h>
|
||||
#endif
|
||||
|
||||
/* state of output_mode and input_mode
|
||||
|
||||
|
@ -267,6 +272,8 @@ struct {
|
|||
#define DEFAULT_ENCIDX ISO_2022_JP
|
||||
#elif defined(DEFAULT_CODE_SJIS)
|
||||
#define DEFAULT_ENCIDX SHIFT_JIS
|
||||
#elif defined(DEFAULT_CODE_WINDOWS_31J)
|
||||
#define DEFAULT_ENCIDX WINDOWS_31J
|
||||
#elif defined(DEFAULT_CODE_EUC)
|
||||
#define DEFAULT_ENCIDX EUC_JP
|
||||
#elif defined(DEFAULT_CODE_UTF8)
|
||||
|
@ -424,8 +431,8 @@ static nkf_char (*i_uungetc)(nkf_char c ,FILE *f) = std_ungetc;
|
|||
#define nkf_char_euc3_new(c) ((c) | PREFIX_EUCG3)
|
||||
#define nkf_char_unicode_new(c) ((c) | CLASS_UNICODE)
|
||||
#define nkf_char_unicode_p(c) ((c & CLASS_MASK) == CLASS_UNICODE)
|
||||
#define nkf_char_unicode_bmp_p(c) ((c & VALUE_MASK) <= NKF_INT32_C(UNICODE_BMP_MAX))
|
||||
#define nkf_char_unicode_value_p(c) ((c & VALUE_MASK) <= NKF_INT32_C(UNICODE_MAX))
|
||||
#define nkf_char_unicode_bmp_p(c) ((c & VALUE_MASK) <= UNICODE_BMP_MAX)
|
||||
#define nkf_char_unicode_value_p(c) ((c & VALUE_MASK) <= UNICODE_MAX)
|
||||
|
||||
#ifdef NUMCHAR_OPTION
|
||||
static int numchar_f = FALSE;
|
||||
|
@ -732,6 +739,21 @@ nkf_locale_charmap()
|
|||
return str;
|
||||
}
|
||||
else return NULL;
|
||||
#elif defined(__OS2__)
|
||||
# if defined(INT_IS_SHORT)
|
||||
/* OS/2 1.x */
|
||||
return NULL;
|
||||
# else
|
||||
/* OS/2 32bit */
|
||||
static char buf[16];
|
||||
ULONG ulCP[1], ulncp;
|
||||
DosQueryCp(sizeof(ulCP), ulCP, &ulncp);
|
||||
if (ulCP[0] == 932 || ulCP[0] == 943)
|
||||
strcpy(buf, "Shift_JIS");
|
||||
else
|
||||
sprintf(buf, "CP%lu", ulCP[0]);
|
||||
return buf;
|
||||
# endif
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
|
@ -744,20 +766,26 @@ nkf_locale_encoding()
|
|||
char *encname = nkf_locale_charmap();
|
||||
if (encname)
|
||||
enc = nkf_enc_find(encname);
|
||||
if (enc < 0) enc = 0;
|
||||
return enc;
|
||||
}
|
||||
#endif /* DEFAULT_CODE_LOCALE */
|
||||
|
||||
static nkf_encoding*
|
||||
nkf_utf8_encoding()
|
||||
{
|
||||
return &nkf_encoding_table[UTF_8];
|
||||
}
|
||||
|
||||
static nkf_encoding*
|
||||
nkf_default_encoding()
|
||||
{
|
||||
nkf_encoding *enc = 0;
|
||||
#ifdef DEFAULT_CODE_LOCALE
|
||||
enc = nkf_locale_encoding();
|
||||
#elif DEFAULT_ENCIDX
|
||||
#elif defined(DEFAULT_ENCIDX)
|
||||
enc = nkf_enc_from_index(DEFAULT_ENCIDX);
|
||||
#endif
|
||||
if (!enc) enc = nkf_utf8_encoding();
|
||||
return enc;
|
||||
}
|
||||
|
||||
|
@ -855,7 +883,7 @@ show_configuration(void)
|
|||
" Default output encoding: "
|
||||
#ifdef DEFAULT_CODE_LOCALE
|
||||
"LOCALE (%s)\n", nkf_enc_name(nkf_default_encoding())
|
||||
#elif DEFAULT_ENCIDX
|
||||
#elif defined(DEFAULT_ENCIDX)
|
||||
"CONFIG (%s)\n", nkf_enc_name(nkf_default_encoding())
|
||||
#else
|
||||
"NONE\n"
|
||||
|
@ -1551,7 +1579,7 @@ s2e_conv(nkf_char c2, nkf_char c1, nkf_char *p2, nkf_char *p1)
|
|||
|
||||
#if defined(UTF8_INPUT_ENABLE) || defined(UTF8_OUTPUT_ENABLE)
|
||||
static void
|
||||
nkf_unicode_to_utf8(nkf_char val, int *p1, int *p2, int *p3, int *p4)
|
||||
nkf_unicode_to_utf8(nkf_char val, nkf_char *p1, nkf_char *p2, nkf_char *p3, nkf_char *p4)
|
||||
{
|
||||
val &= VALUE_MASK;
|
||||
if (val < 0x80){
|
||||
|
@ -1583,7 +1611,7 @@ nkf_unicode_to_utf8(nkf_char val, int *p1, int *p2, int *p3, int *p4)
|
|||
}
|
||||
|
||||
static nkf_char
|
||||
nkf_utf8_to_unicode(int c1, int c2, int c3, int c4)
|
||||
nkf_utf8_to_unicode(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
|
||||
{
|
||||
nkf_char wc;
|
||||
if (c1 <= 0x7F) {
|
||||
|
@ -1884,7 +1912,7 @@ w2e_conv(nkf_char c2, nkf_char c1, nkf_char c0, nkf_char *p2, nkf_char *p1)
|
|||
static nkf_char
|
||||
w16e_conv(nkf_char val, nkf_char *p2, nkf_char *p1)
|
||||
{
|
||||
int c1, c2, c3, c4;
|
||||
nkf_char c1, c2, c3, c4;
|
||||
nkf_char ret = 0;
|
||||
val &= VALUE_MASK;
|
||||
if (val < 0x80) {
|
||||
|
@ -2101,7 +2129,7 @@ unicode_iconv(nkf_char wc)
|
|||
#define NKF_ICONV_NEED_TWO_MORE_BYTES -2
|
||||
#define UTF16_TO_UTF32(lead, trail) (((lead) << 10) + (trail) - NKF_INT32_C(0x35FDC00))
|
||||
static size_t
|
||||
nkf_iconv_utf_16(int c1, int c2, int c3, int c4)
|
||||
nkf_iconv_utf_16(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
|
||||
{
|
||||
nkf_char wc;
|
||||
|
||||
|
@ -2144,7 +2172,7 @@ w_iconv32(nkf_char c2, nkf_char c1, nkf_char c0)
|
|||
}
|
||||
|
||||
static size_t
|
||||
nkf_iconv_utf_32(int c1, int c2, int c3, int c4)
|
||||
nkf_iconv_utf_32(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
|
||||
{
|
||||
nkf_char wc;
|
||||
|
||||
|
@ -2428,7 +2456,7 @@ s_oconv(nkf_char c2, nkf_char c1)
|
|||
static void
|
||||
w_oconv(nkf_char c2, nkf_char c1)
|
||||
{
|
||||
int c3, c4;
|
||||
nkf_char c3, c4;
|
||||
nkf_char val;
|
||||
|
||||
if (output_bom_f) {
|
||||
|
@ -5569,7 +5597,7 @@ kanji_convert(FILE *f)
|
|||
C%7 : 0 1 2 3 4 5 6
|
||||
NUM : 2 0 3 4 5 X 1
|
||||
*/
|
||||
static const int jphone_emoji_first_table[7] =
|
||||
static const nkf_char jphone_emoji_first_table[7] =
|
||||
{0xE1E0, 0xDFE0, 0xE2E0, 0xE3E0, 0xE4E0, 0xDFE0, 0xE0E0};
|
||||
c3 = nkf_char_unicode_new(jphone_emoji_first_table[c1 % 7]);
|
||||
if ((c1 = (*i_getc)(f)) == EOF) LAST;
|
||||
|
@ -5758,7 +5786,8 @@ options(unsigned char *cp)
|
|||
}
|
||||
if (strcmp(long_option[i].name, "oc=") == 0){
|
||||
enc = nkf_enc_find((char *)p);
|
||||
if (enc <= 0) continue;
|
||||
/* if (enc <= 0) continue; */
|
||||
if (!enc) continue;
|
||||
output_encoding = enc;
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ typedef int nkf_char;
|
|||
#define NKF_INT32_C(n) (n)
|
||||
#endif
|
||||
|
||||
#if (defined(__TURBOC__) || defined(_MSC_VER) || defined(LSI_C) || defined(__MINGW32__) || defined(__EMX__) || defined(__MSDOS__) || defined(__WINDOWS__) || defined(__DOS__) || defined(__OS2__)) && !defined(MSDOS)
|
||||
#if (defined(__TURBOC__) || defined(_MSC_VER) || defined(LSI_C) || (defined(__WATCOMC__) && defined(__386__) && !defined(__LINUX__)) || defined(__MINGW32__) || defined(__EMX__) || defined(__MSDOS__) || defined(__WINDOWS__) || defined(__DOS__) || defined(__OS2__)) && !defined(MSDOS)
|
||||
#define MSDOS
|
||||
#if (defined(__Win32__) || defined(_WIN32)) && !defined(__WIN32__)
|
||||
#define __WIN32__
|
||||
|
@ -143,15 +143,34 @@ void setbinmode(FILE *fp)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if !defined(DEFAULT_CODE_JIS) && !defined(DEFAULT_CODE_SJIS) && \
|
||||
!defined(DEFAULT_CODE_WINDOWS_31J) && !defined(DEFAULT_CODE_EUC) && \
|
||||
!defined(DEFAULT_CODE_UTF8) && !defined(DEFAULT_CODE_LOCALE)
|
||||
#define DEFAULT_CODE_LOCALE
|
||||
#endif
|
||||
|
||||
#ifdef DEFAULT_CODE_LOCALE
|
||||
|
||||
#ifndef __WIN32__ /* not win32 is posix */
|
||||
#ifndef HAVE_LANGINFO_H
|
||||
#define HAVE_LANGINFO_H
|
||||
#endif
|
||||
#ifndef HAVE_LOCALE_H
|
||||
#define HAVE_LOCALE_H
|
||||
#endif
|
||||
#if defined(__WIN32__) /* not win32 should be posix */
|
||||
# ifndef HAVE_LOCALE_H
|
||||
# define HAVE_LOCALE_H
|
||||
# endif
|
||||
#elif defined(__OS2__)
|
||||
# undef HAVE_LANGINFO_H /* We do not use kLIBC's langinfo. */
|
||||
# ifndef HAVE_LOCALE_H
|
||||
# define HAVE_LOCALE_H
|
||||
# endif
|
||||
#elif defined(MSDOS)
|
||||
# ifndef HAVE_LOCALE_H
|
||||
# define HAVE_LOCALE_H
|
||||
# endif
|
||||
#else
|
||||
# ifndef HAVE_LANGINFO_H
|
||||
# define HAVE_LANGINFO_H
|
||||
# endif
|
||||
# ifndef HAVE_LOCALE_H
|
||||
# define HAVE_LOCALE_H
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LANGINFO_H
|
||||
|
@ -171,4 +190,3 @@ void setbinmode(FILE *fp)
|
|||
#endif
|
||||
|
||||
#endif /* NKF_H */
|
||||
|
||||
|
|
Loading…
Reference in a new issue