OSDN Git Service
(root)
/
nkf
/
nkf.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix type of mimeout_state.buf. [nkf-bug:20079]
[nkf/nkf.git]
/
nkf.c
diff --git
a/nkf.c
b/nkf.c
index
a8bfc9a
..
6877afe
100644
(file)
--- a/
nkf.c
+++ b/
nkf.c
@@
-21,7
+21,7
@@
* 3. This notice may not be removed or altered from any source distribution.
*/
#define NKF_VERSION "2.1.1"
* 3. This notice may not be removed or altered from any source distribution.
*/
#define NKF_VERSION "2.1.1"
-#define NKF_RELEASE_DATE "2010-0
4-14
"
+#define NKF_RELEASE_DATE "2010-0
8-08
"
#define COPY_RIGHT \
"Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).\n" \
"Copyright (C) 1996-2010, The nkf Project."
#define COPY_RIGHT \
"Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).\n" \
"Copyright (C) 1996-2010, The nkf Project."
@@
-223,6
+223,7
@@
struct {
{"ISO-2022-JP-2004", ISO_2022_JP_2004},
{"SHIFT_JIS", SHIFT_JIS},
{"SJIS", SHIFT_JIS},
{"ISO-2022-JP-2004", ISO_2022_JP_2004},
{"SHIFT_JIS", SHIFT_JIS},
{"SJIS", SHIFT_JIS},
+ {"MS_Kanji", SHIFT_JIS},
{"PCK", SHIFT_JIS},
{"WINDOWS-31J", WINDOWS_31J},
{"CSWINDOWS31J", WINDOWS_31J},
{"PCK", SHIFT_JIS},
{"WINDOWS-31J", WINDOWS_31J},
{"CSWINDOWS31J", WINDOWS_31J},
@@
-476,7
+477,7
@@
struct input_code input_code_list[] = {
{"UTF-16", 0, 0, 0, {0, 0, 0}, NULL, w_iconv16, 0},
{"UTF-32", 0, 0, 0, {0, 0, 0}, NULL, w_iconv32, 0},
#endif
{"UTF-16", 0, 0, 0, {0, 0, 0}, NULL, w_iconv16, 0},
{"UTF-32", 0, 0, 0, {0, 0, 0}, NULL, w_iconv32, 0},
#endif
- {0}
+ {
NULL, 0, 0, 0, {0, 0, 0}, NULL, NULL,
0}
};
static int mimeout_mode = 0; /* 0, -1, 'Q', 'B', 1, 2 */
};
static int mimeout_mode = 0; /* 0, -1, 'Q', 'B', 1, 2 */
@@
-901,7
+902,7
@@
usage(void)
" Z[0-4] Default/0: Convert JISX0208 Alphabet to ASCII\n"
" 1: Kankaku to one space 2: to two spaces 3: HTML Entity\n"
" 4: JISX0208 Katakana to JISX0201 Katakana\n"
" Z[0-4] Default/0: Convert JISX0208 Alphabet to ASCII\n"
" 1: Kankaku to one space 2: to two spaces 3: HTML Entity\n"
" 4: JISX0208 Katakana to JISX0201 Katakana\n"
- " X,x
Assume X0201 kana in MS-Kanji, -x preserves X0201
\n"
+ " X,x
Convert Halfwidth Katakana to Fullwidth or preserve it
\n"
);
fprintf(HELP_OUTPUT,
" O Output to File (DEFAULT 'nkf.out')\n"
);
fprintf(HELP_OUTPUT,
" O Output to File (DEFAULT 'nkf.out')\n"
@@
-1208,10
+1209,10
@@
set_input_encoding(nkf_encoding *enc)
case ISO_8859_1:
iso8859_f = TRUE;
break;
case ISO_8859_1:
iso8859_f = TRUE;
break;
- case CP50220:
case CP50221:
case CP50222:
if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
case CP50221:
case CP50222:
if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
+ case CP50220:
#ifdef SHIFTJIS_CP932
cp51932_f = TRUE;
#endif
#ifdef SHIFTJIS_CP932
cp51932_f = TRUE;
#endif
@@
-1264,6
+1265,7
@@
set_input_encoding(nkf_encoding *enc)
#endif
break;
case EUCJP_MS:
#endif
break;
case EUCJP_MS:
+ if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
#ifdef SHIFTJIS_CP932
cp51932_f = FALSE;
#endif
#ifdef SHIFTJIS_CP932
cp51932_f = FALSE;
#endif
@@
-1272,6
+1274,7
@@
set_input_encoding(nkf_encoding *enc)
#endif
break;
case EUCJP_ASCII:
#endif
break;
case EUCJP_ASCII:
+ if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
#ifdef SHIFTJIS_CP932
cp51932_f = FALSE;
#endif
#ifdef SHIFTJIS_CP932
cp51932_f = FALSE;
#endif
@@
-1326,7
+1329,6
@@
set_output_encoding(nkf_encoding *enc)
{
switch (nkf_enc_to_index(enc)) {
case CP50220:
{
switch (nkf_enc_to_index(enc)) {
case CP50220:
- if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
#ifdef SHIFTJIS_CP932
if (cp932inv_f == TRUE) cp932inv_f = FALSE;
#endif
#ifdef SHIFTJIS_CP932
if (cp932inv_f == TRUE) cp932inv_f = FALSE;
#endif
@@
-1402,12
+1404,14
@@
set_output_encoding(nkf_encoding *enc)
#endif
break;
case EUCJP_MS:
#endif
break;
case EUCJP_MS:
+ if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
x0212_f = TRUE;
#ifdef UTF8_OUTPUT_ENABLE
ms_ucs_map_f = UCS_MAP_MS;
#endif
break;
case EUCJP_ASCII:
x0212_f = TRUE;
#ifdef UTF8_OUTPUT_ENABLE
ms_ucs_map_f = UCS_MAP_MS;
#endif
break;
case EUCJP_ASCII:
+ if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
x0212_f = TRUE;
#ifdef UTF8_OUTPUT_ENABLE
ms_ucs_map_f = UCS_MAP_ASCII;
x0212_f = TRUE;
#ifdef UTF8_OUTPUT_ENABLE
ms_ucs_map_f = UCS_MAP_ASCII;
@@
-2198,8
+2202,8
@@
unicode_iconv(nkf_char wc)
return 0;
}
return 0;
}
-#define NKF_ICONV_NEED_ONE_MORE_BYTE -1
-#define NKF_ICONV_NEED_TWO_MORE_BYTES -2
+#define NKF_ICONV_NEED_ONE_MORE_BYTE
(size_t)
-1
+#define NKF_ICONV_NEED_TWO_MORE_BYTES
(size_t)
-2
#define UTF16_TO_UTF32(lead, trail) (((lead) << 10) + (trail) - NKF_INT32_C(0x35FDC00))
static size_t
nkf_iconv_utf_16(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
#define UTF16_TO_UTF32(lead, trail) (((lead) << 10) + (trail) - NKF_INT32_C(0x35FDC00))
static size_t
nkf_iconv_utf_16(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
@@
-4631,7
+4635,7
@@
static const char basis_64[] =
#define MIMEOUT_BUF_LENGTH 74
static struct {
#define MIMEOUT_BUF_LENGTH 74
static struct {
- char buf[MIMEOUT_BUF_LENGTH+1];
+
unsigned
char buf[MIMEOUT_BUF_LENGTH+1];
int count;
} mimeout_state;
int count;
} mimeout_state;
@@
-4943,7
+4947,7
@@
mime_putc(nkf_char c)
i = 0;
for (; i < mimeout_state.count - len; ++i) {
i = 0;
for (; i < mimeout_state.count - len; ++i) {
- if (!strncmp(
mimeout_state.buf+i
, str, len)) {
+ if (!strncmp(
(char *)(mimeout_state.buf+i)
, str, len)) {
i += len - 2;
break;
}
i += len - 2;
break;
}
@@
-5414,7
+5418,7
@@
noconvert(FILE *f)
#define NEXT continue /* no output, get next */
#define SKIP c2=0;continue /* no output, get next */
#define MORE c2=c1;continue /* need one more byte */
#define NEXT continue /* no output, get next */
#define SKIP c2=0;continue /* no output, get next */
#define MORE c2=c1;continue /* need one more byte */
-#define SEND
;
/* output c1 and c2, get next */
+#define SEND
(void)0
/* output c1 and c2, get next */
#define LAST break /* end of loop, go closing */
#define set_input_mode(mode) do { \
input_mode = mode; \
#define LAST break /* end of loop, go closing */
#define set_input_mode(mode) do { \
input_mode = mode; \
@@
-5459,7
+5463,7
@@
kanji_convert(FILE *f)
else if (iconv == w_iconv16) {
while ((c1 = (*i_getc)(f)) != EOF &&
(c2 = (*i_getc)(f)) != EOF) {
else if (iconv == w_iconv16) {
while ((c1 = (*i_getc)(f)) != EOF &&
(c2 = (*i_getc)(f)) != EOF) {
- if (nkf_iconv_utf_16(c1, c2, 0, 0) ==
-2
&&
+ if (nkf_iconv_utf_16(c1, c2, 0, 0) ==
NKF_ICONV_NEED_TWO_MORE_BYTES
&&
(c3 = (*i_getc)(f)) != EOF &&
(c4 = (*i_getc)(f)) != EOF) {
nkf_iconv_utf_16(c1, c2, c3, c4);
(c3 = (*i_getc)(f)) != EOF &&
(c4 = (*i_getc)(f)) != EOF) {
nkf_iconv_utf_16(c1, c2, c3, c4);
@@
-5899,7
+5903,7
@@
options(unsigned char *cp)
option_mode = 1;
return 0;
}
option_mode = 1;
return 0;
}
- for (i=0;i<
sizeof(long_option)/sizeof(long_option[0]
);i++) {
+ for (i=0;i<
(int)(sizeof(long_option)/sizeof(long_option[0])
);i++) {
p = (unsigned char *)long_option[i].name;
for (j=0;*p && *p != '=' && *p == cp[j];p++, j++);
if (*p == cp[j] || cp[j] == SP){
p = (unsigned char *)long_option[i].name;
for (j=0;*p && *p != '=' && *p == cp[j];p++, j++);
if (*p == cp[j] || cp[j] == SP){