Ruby 2.0.0p353(2013-11-22revision43784)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Enumerations | Functions | Variables
nkf.c File Reference
`#include "config.h"`
`#include "nkf.h"`
`#include "utf8tbl.h"`
`#include <assert.h>`
Include dependency graph for nkf.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | nkf_native_encoding
struct | nkf_encoding
struct | input_code
struct | nkf_buf_t
struct | nkf_state_t

## Macros
#define | NKF_VERSION "2.1.3"
#define | NKF_RELEASE_DATE "2012-11-22"
#define | COPY_RIGHT
#define | FIXED_MIME 7
#define | STRICT_MIME 8
#define | BS 0x08
#define | TAB 0x09
#define | LF 0x0a
#define | CR 0x0d
#define | ESC 0x1b
#define | SP 0x20
#define | DEL 0x7f
#define | SI 0x0f
#define | SO 0x0e
#define | SS2 0x8e
#define | SS3 0x8f
#define | CRLF 0x0D0A
#define | is_alnum(c) (('a'<=c && c<='z')||('A'<= c && c<='Z')||('0'<=c && c<='9'))
#define | nkf_toupper(c) (('a'<=c && c<='z')?(c-('a'-'A')):c)
#define | nkf_isoctal(c) ('0'<=c && c<='7')
#define | nkf_isdigit(c) ('0'<=c && c<='9')
#define | nkf_isxdigit(c) (nkf_isdigit(c) || ('a'<=c && c<='f') || ('A'<=c && c <= 'F'))
#define | nkf_isblank(c) (c == SP || c == TAB)
#define | nkf_isspace(c) (nkf_isblank(c) || c == CR || c == LF)
#define | nkf_isalpha(c) (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z'))
#define | nkf_isalnum(c) (nkf_isdigit(c) || nkf_isalpha(c))
#define | nkf_isprint(c) (SP<=c && c<='~')
#define | nkf_isgraph(c) ('!'<=c && c<='~')
#define | hex2bin(c)
#define | bin2hex(c) ("0123456789ABCDEF"[c&15])
#define | is_eucg3(c2) (((unsigned short)c2 >> 8) == SS3)
#define | nkf_noescape_mime(c)
#define | is_ibmext_in_sjis(c2) (CP932_TABLE_BEGIN <= c2 && c2 <= CP932_TABLE_END)
#define | nkf_byte_jisx0201_katakana_p(c) (SP <= c && c <= 0x5F)
#define | HOLD_SIZE 1024
#define | IOBUF_SIZE 16384
#define | DEFAULT_J 'B'
#define | DEFAULT_R 'B'
#define | GETA1 0x22
#define | GETA2 0x2e
#define | UCS_MAP_ASCII 0
#define | UCS_MAP_MS 1
#define | UCS_MAP_CP932 2
#define | UCS_MAP_CP10001 3
#define | NKF_UNSPECIFIED (-TRUE)
#define | PREFIX_EUCG3 NKF_INT32_C(0x8F00)
#define | CLASS_MASK NKF_INT32_C(0xFF000000)
#define | CLASS_UNICODE NKF_INT32_C(0x01000000)
#define | VALUE_MASK NKF_INT32_C(0x00FFFFFF)
#define | UNICODE_BMP_MAX NKF_INT32_C(0x0000FFFF)
#define | UNICODE_MAX NKF_INT32_C(0x0010FFFF)
#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) <= UNICODE_BMP_MAX)
#define | nkf_char_unicode_value_p(c) ((c & VALUE_MASK) <= UNICODE_MAX)
#define | UTF16_TO_UTF32(lead, trail) (((lead) << 10) + (trail) - NKF_INT32_C(0x35FDC00))
#define | FOLD_MARGIN 10
#define | DEFAULT_FOLD 60
#define | nkf_xfree(ptr) free(ptr)
#define | nkf_enc_name(enc) (enc)->name
#define | nkf_enc_to_index(enc) (enc)->id
#define | nkf_enc_to_base_encoding(enc) (enc)->base_encoding
#define | nkf_enc_to_iconv(enc) nkf_enc_to_base_encoding(enc)->iconv
#define | nkf_enc_to_oconv(enc) nkf_enc_to_base_encoding(enc)->oconv
#define | nkf_enc_asciicompat(enc)
#define | nkf_enc_unicode_p(enc)
#define | nkf_enc_cp5022x_p(enc)
#define | nkf_buf_length(buf) ((buf)->len)
#define | nkf_buf_empty_p(buf) ((buf)->len == 0)
#define | SJ0162 0x00e1 /* 01 - 62 ku offset */
#define | SJ6394 0x0161 /* 63 - 94 ku offset */
#define | X0213_SURROGATE_FIND(tbl, size, euc)
#define | NKF_ICONV_INVALID_CODE_RANGE -13
#define | NKF_ICONV_WAIT_COMBINING_CHAR -14
#define | NKF_ICONV_NOT_COMBINED -15
#define | NKF_ICONV_NEED_ONE_MORE_BYTE (size_t)-1
#define | NKF_ICONV_NEED_TWO_MORE_BYTES (size_t)-2
#define | output_ascii_escape_sequence(mode)
#define | OUTPUT_UTF8(val)
#define | OUTPUT_UTF16_BYTES(c1, c2)
#define | OUTPUT_UTF16(val)
#define | OUTPUT_UTF32(c)
#define | SCORE_L2 (1) /* Kanji Level 2 */
#define | SCORE_KANA (SCORE_L2 << 1) /* Halfwidth Katakana */
#define | SCORE_DEPEND (SCORE_KANA << 1) /* MD Characters */
#define | SCORE_CP932 (SCORE_DEPEND << 1) /* IBM extended characters */
#define | SCORE_X0212 (SCORE_CP932 << 1) /* JIS X 0212 */
#define | SCORE_X0213 (SCORE_X0212 << 1) /* JIS X 0213 */
#define | SCORE_NO_EXIST (SCORE_X0213 << 1) /* Undefined Characters */
#define | SCORE_iMIME (SCORE_NO_EXIST << 1) /* MIME selected */
#define | SCORE_ERROR (SCORE_iMIME << 1) /* Error */
#define | SCORE_INIT (SCORE_iMIME)
#define | STD_GC_BUFSIZE (256)
#define | char_size(c2, c1) (c2?2:1)
#define | rot13(c)
#define | rot47(c)
#define | RANGE_NUM_MAX 18
#define | MIME_BUF_SIZE (1024) /* 2^n ring buffer */
#define | MIME_BUF_MASK (MIME_BUF_SIZE-1)
#define | mime_input_buf(n) mime_input_state.buf[(n)&MIME_BUF_MASK]
#define | MAXRECOVER 20
#define | MIMEOUT_BUF_LENGTH 74
#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 (void)0 /* output c1 and c2, get next */
#define | LAST break /* end of loop, go closing */
#define | set_input_mode(mode)

## Enumerations
enum | byte_order { ENDIAN_BIG = 1, ENDIAN_LITTLE = 2, ENDIAN_2143 = 3, ENDIAN_3412 = 4 }
enum | nkf_encodings { ASCII, ISO_8859_1, ISO_2022_JP, CP50220, CP50221, CP50222, ISO_2022_JP_1, ISO_2022_JP_3, ISO_2022_JP_2004, SHIFT_JIS, WINDOWS_31J, CP10001, EUC_JP, EUCJP_NKF, CP51932, EUCJP_MS, EUCJP_ASCII, SHIFT_JISX0213, SHIFT_JIS_2004, EUC_JISX0213, EUC_JIS_2004, UTF_8, UTF_8N, UTF_8_BOM, UTF8_MAC, UTF_16, UTF_16BE, UTF_16BE_BOM, UTF_16LE, UTF_16LE_BOM, UTF_32, UTF_32BE, UTF_32BE_BOM, UTF_32LE, UTF_32LE_BOM, BINARY, NKF_ENCODING_TABLE_SIZE, JIS_X_0201_1976_K = 0x1013, JIS_X_0208 = 0x1168, JIS_X_0212 = 0x1159, JIS_X_0213_2 = 0x1229, JIS_X_0213_1 = 0x1233 }

## Functions
static nkf_char | s_iconv (nkf_char c2, nkf_char c1, nkf_char c0)
static nkf_char | e_iconv (nkf_char c2, nkf_char c1, nkf_char c0)
static nkf_char | w_iconv (nkf_char c2, nkf_char c1, nkf_char c0)
static nkf_char | w_iconv16 (nkf_char c2, nkf_char c1, nkf_char c0)
static nkf_char | w_iconv32 (nkf_char c2, nkf_char c1, nkf_char c0)
static void | j_oconv (nkf_char c2, nkf_char c1)
static void | s_oconv (nkf_char c2, nkf_char c1)
static void | e_oconv (nkf_char c2, nkf_char c1)
static void | w_oconv (nkf_char c2, nkf_char c1)
static void | w_oconv16 (nkf_char c2, nkf_char c1)
static void | w_oconv32 (nkf_char c2, nkf_char c1)
static void | w_status (struct input_code *, nkf_char)
static void | std_putc (nkf_char c)
static nkf_char | std_getc (FILE *f)
static nkf_char | std_ungetc (nkf_char c, FILE *f)
static nkf_char | broken_getc (FILE *f)
static nkf_char | broken_ungetc (nkf_char c, FILE *f)
static nkf_char | mime_getc (FILE *f)
static void | mime_putc (nkf_char c)
static void | no_putc (nkf_char c)
static void | debug (const char *str)
static void | set_input_codename (const char *codename)
static void | e_status (struct input_code *, nkf_char)
static void | s_status (struct input_code *, nkf_char)
static nkf_char | no_connection2 (ARG_UNUSED nkf_char c2, ARG_UNUSED nkf_char c1, ARG_UNUSED nkf_char c0)
static void | no_connection (nkf_char c2, nkf_char c1)
static void * | nkf_xmalloc (size_t size)
static void * | nkf_xrealloc (void *ptr, size_t size)
static int | nkf_str_caseeql (const char *src, const char *target)
static nkf_encoding * | nkf_enc_from_index (int idx)
static int | nkf_enc_find_index (const char *name)
static nkf_encoding * | nkf_enc_find (const char *name)
static const char * | nkf_locale_charmap ()
static nkf_encoding * | nkf_locale_encoding ()
static nkf_encoding * | nkf_utf8_encoding ()
static nkf_encoding * | nkf_default_encoding ()
static nkf_buf_t * | nkf_buf_new (int length)
static nkf_char | nkf_buf_at (nkf_buf_t *buf, int index)
static void | nkf_buf_clear (nkf_buf_t *buf)
static void | nkf_buf_push (nkf_buf_t *buf, nkf_char c)
static nkf_char | nkf_buf_pop (nkf_buf_t *buf)
static void | version (void)
static void | usage (void)
static void | show_configuration (void)
static char * | get_backup_filename (const char *suffix, const char *filename)
static void | nkf_each_char_to_hex (void(*f)(nkf_char c2, nkf_char c1), nkf_char c)
static void | encode_fallback_html (nkf_char c)
static void | encode_fallback_xml (nkf_char c)
static void | encode_fallback_java (nkf_char c)
static void | encode_fallback_perl (nkf_char c)
static void | encode_fallback_subchar (nkf_char c)
static void | set_input_encoding (nkf_encoding *enc)
static void | set_output_encoding (nkf_encoding *enc)
static struct input_code * | find_inputcode_byfunc (nkf_char(*iconv_func)(nkf_char c2, nkf_char c1, nkf_char c0))
static void | set_iconv (nkf_char f, nkf_char(*iconv_func)(nkf_char c2, nkf_char c1, nkf_char c0))
static nkf_char | x0212_shift (nkf_char c)
static nkf_char | x0212_unshift (nkf_char c)
static int | is_x0213_2_in_x0212 (nkf_char c1)
static nkf_char | e2s_conv (nkf_char c2, nkf_char c1, nkf_char *p2, nkf_char *p1)
static nkf_char | s2e_conv (nkf_char c2, nkf_char c1, nkf_char *p2, nkf_char *p1)
static void | nkf_unicode_to_utf8 (nkf_char val, nkf_char *p1, nkf_char *p2, nkf_char *p3, nkf_char *p4)
static nkf_char | nkf_utf8_to_unicode (nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
static int | unicode_to_jis_common2 (nkf_char c1, nkf_char c0, const unsigned short *const *pp, nkf_char psize, nkf_char *p2, nkf_char *p1)
static int | unicode_to_jis_common (nkf_char c2, nkf_char c1, nkf_char c0, nkf_char *p2, nkf_char *p1)
static nkf_char | e2w_conv (nkf_char c2, nkf_char c1)
static nkf_char | e2w_combining (nkf_char comb, nkf_char c2, nkf_char c1)
static nkf_char | 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)
static nkf_char | s_iconv (ARG_UNUSED nkf_char c2, nkf_char c1, ARG_UNUSED nkf_char c0)
static int | x0213_wait_combining_p (nkf_char wc)
static int | x0213_combining_p (nkf_char wc)
static nkf_char | w_iconv_nocombine (nkf_char c1, nkf_char c2, nkf_char c3)
static size_t | unicode_iconv (nkf_char wc, int nocombine)
static nkf_char | unicode_iconv_combine (nkf_char wc, nkf_char wc2)
static nkf_char | w_iconv_combine (nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4, nkf_char c5, nkf_char c6)
static size_t | nkf_iconv_utf_16 (nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
static size_t | nkf_iconv_utf_16_combine (nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
static size_t | nkf_iconv_utf_16_nocombine (nkf_char c1, nkf_char c2)
static nkf_char | w_iconv16 (nkf_char c2, nkf_char c1, ARG_UNUSED nkf_char c0)
static nkf_char | w_iconv32 (nkf_char c2, nkf_char c1, ARG_UNUSED nkf_char c0)
static nkf_char | utf32_to_nkf_char (nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
static size_t | nkf_iconv_utf_32 (nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
static nkf_char | nkf_iconv_utf_32_combine (nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4, nkf_char c5, nkf_char c6, nkf_char c7, nkf_char c8)
static size_t | nkf_iconv_utf_32_nocombine (nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4)
static void | output_escape_sequence (int mode)
static void | set_code_score (struct input_code *ptr, nkf_char score)
static void | clr_code_score (struct input_code *ptr, nkf_char score)
static void | code_score (struct input_code *ptr)
static void | status_disable (struct input_code *ptr)
static void | status_push_ch (struct input_code *ptr, nkf_char c)
static void | status_clear (struct input_code *ptr)
static void | status_reset (struct input_code *ptr)
static void | status_reinit (struct input_code *ptr)
static void | status_check (struct input_code *ptr, nkf_char c)
static void | code_status (nkf_char c)
static void | nkf_state_init (void)
static nkf_char | std_ungetc (nkf_char c, ARG_UNUSED FILE *f)
static nkf_char | push_hold_buf (nkf_char c2)
static int | h_conv (FILE *f, nkf_char c1, nkf_char c2)
static void | check_bom (FILE *f)
static nkf_char | broken_ungetc (nkf_char c, ARG_UNUSED FILE *f)
static void | eol_conv (nkf_char c2, nkf_char c1)
static void | put_newline (void(*func)(nkf_char))
static void | oconv_newline (void(*func)(nkf_char, nkf_char))
static void | fold_conv (nkf_char c2, nkf_char c1)
static void | z_conv (nkf_char c2, nkf_char c1)
static void | rot_conv (nkf_char c2, nkf_char c1)
static void | hira_conv (nkf_char c2, nkf_char c1)
static void | iso2022jp_check_conv (nkf_char c2, nkf_char c1)
static void | mime_input_buf_unshift (nkf_char c)
static nkf_char | mime_ungetc (nkf_char c, ARG_UNUSED FILE *f)
static nkf_char | mime_ungetc_buf (nkf_char c, FILE *f)
static nkf_char | mime_getc_buf (FILE *f)
static void | switch_mime_getc (void)
static void | unswitch_mime_getc (void)
static nkf_char | mime_integrity (FILE *f, const unsigned char *p)
static nkf_char | mime_begin_strict (FILE *f)
static nkf_char | mime_begin (FILE *f)
static void | no_putc (ARG_UNUSED nkf_char c)
static const char * | get_guessed_code (void)
static void | print_guessed_code (char *filename)
static nkf_char | hex_getc (nkf_char ch, FILE *f, nkf_char(*g)(FILE *f), nkf_char(*u)(nkf_char c, FILE *f))
static nkf_char | cap_getc (FILE *f)
static nkf_char | cap_ungetc (nkf_char c, FILE *f)
static nkf_char | url_getc (FILE *f)
static nkf_char | url_ungetc (nkf_char c, FILE *f)
static nkf_char | numchar_getc (FILE *f)
static nkf_char | numchar_ungetc (nkf_char c, FILE *f)
static nkf_char | nfc_getc (FILE *f)
static nkf_char | nfc_ungetc (nkf_char c, FILE *f)
static nkf_char | base64decode (nkf_char c)
static void | open_mime (nkf_char mode)
static void | mime_prechar (nkf_char c2, nkf_char c1)
static void | close_mime (void)
static void | eof_mime (void)
static void | mimeout_addchar (nkf_char c)
static void | base64_conv (nkf_char c2, nkf_char c1)
static void | reinit (void)
static int | module_connection (void)
static nkf_char | noconvert (FILE *f)
static int | kanji_convert (FILE *f)
static int | options (unsigned char *cp)
int | main (int argc, char **argv)

## Variables
nkf_native_encoding | NkfEncodingASCII = { "ASCII", e_iconv, e_oconv }
nkf_native_encoding | NkfEncodingISO_2022_JP = { "ISO-2022-JP", e_iconv, j_oconv }
nkf_native_encoding | NkfEncodingShift_JIS = { "Shift_JIS", s_iconv, s_oconv }
nkf_native_encoding | NkfEncodingEUC_JP = { "EUC-JP", e_iconv, e_oconv }
nkf_native_encoding | NkfEncodingUTF_8 = { "UTF-8", w_iconv, w_oconv }
nkf_native_encoding | NkfEncodingUTF_16 = { "UTF-16", w_iconv16, w_oconv16 }
nkf_native_encoding | NkfEncodingUTF_32 = { "UTF-32", w_iconv32, w_oconv32 }
nkf_encoding | nkf_encoding_table []
struct {
const char * name
const int id
} | encoding_name_to_id_table []
static const char * | input_codename = NULL
static nkf_encoding * | input_encoding = NULL
static nkf_encoding * | output_encoding = NULL
static int | ms_ucs_map_f = UCS_MAP_ASCII
static int | no_cp932ext_f = FALSE
static int | no_best_fit_chars_f = FALSE
static int | input_endian = ENDIAN_BIG
static int | input_bom_f = FALSE
static nkf_char | unicode_subchar = '?'
static void(* | encode_fallback )(nkf_char c) = NULL
static int | output_bom_f = FALSE
static int | output_endian = ENDIAN_BIG
static unsigned char | stdibuf [IOBUF_SIZE]
static unsigned char | stdobuf [IOBUF_SIZE]
static int | unbuf_f = FALSE
static int | estab_f = FALSE
static int | nop_f = FALSE
static int | binmode_f = TRUE
static int | rot_f = FALSE
static int | hira_f = FALSE
static int | alpha_f = FALSE
static int | mime_f = MIME_DECODE_DEFAULT
static int | mime_decode_f = FALSE
static int | mimebuf_f = FALSE
static int | broken_f = FALSE
static int | iso8859_f = FALSE
static int | mimeout_f = FALSE
static int | x0201_f = NKF_UNSPECIFIED
static int | iso2022jp_f = FALSE
static int | nfc_f = FALSE
static nkf_char(* | i_nfc_getc )(FILE *) = std_getc
static nkf_char(* | i_nfc_ungetc )(nkf_char c, FILE *f) = std_ungetc
static int | cap_f = FALSE
static nkf_char(* | i_cgetc )(FILE *) = std_getc
static nkf_char(* | i_cungetc )(nkf_char c, FILE *f) = std_ungetc
static int | url_f = FALSE
static nkf_char(* | i_ugetc )(FILE *) = std_getc
static nkf_char(* | i_uungetc )(nkf_char c, FILE *f) = std_ungetc
static int | numchar_f = FALSE
static nkf_char(* | i_ngetc )(FILE *) = std_getc
static nkf_char(* | i_nungetc )(nkf_char c, FILE *f) = std_ungetc
static int | noout_f = FALSE
static int | debug_f = FALSE
static nkf_char(* | iconv_for_check )(nkf_char c2, nkf_char c1, nkf_char c0)=0
static int | guess_f = 0
static int | cp51932_f = FALSE
static int | cp932inv_f = TRUE
static int | x0212_f = FALSE
static int | x0213_f = FALSE
static unsigned char | prefix_table [256]
struct input_code | input_code_list []
static int | mimeout_mode = 0
static int | base64_count = 0
static int | f_line = 0
static int | f_prev = 0
static int | fold_preserve_f = FALSE
static int | fold_f = FALSE
static int | fold_len = 0
static unsigned char | kanji_intro = DEFAULT_J
static unsigned char | ascii_intro = DEFAULT_R
static int | fold_margin = FOLD_MARGIN
static nkf_char(* | iconv )(nkf_char c2, nkf_char c1, nkf_char c0) = no_connection2
static void(* | oconv )(nkf_char c2, nkf_char c1) = no_connection
static void(* | o_zconv )(nkf_char c2, nkf_char c1) = no_connection
static void(* | o_fconv )(nkf_char c2, nkf_char c1) = no_connection
static void(* | o_eol_conv )(nkf_char c2, nkf_char c1) = no_connection
static void(* | o_rot_conv )(nkf_char c2, nkf_char c1) = no_connection
static void(* | o_hira_conv )(nkf_char c2, nkf_char c1) = no_connection
static void(* | o_base64conv )(nkf_char c2, nkf_char c1) = no_connection
static void(* | o_iso2022jp_check_conv )(nkf_char c2, nkf_char c1) = no_connection
static void(* | o_putc )(nkf_char c) = std_putc
static nkf_char(* | i_getc )(FILE *f) = std_getc
static nkf_char(* | i_ungetc )(nkf_char c, FILE *f) =std_ungetc
static nkf_char(* | i_bgetc )(FILE *) = std_getc
static nkf_char(* | i_bungetc )(nkf_char c, FILE *f) = std_ungetc
static void(* | o_mputc )(nkf_char c) = std_putc
static nkf_char(* | i_mgetc )(FILE *) = std_getc
static nkf_char(* | i_mungetc )(nkf_char c, FILE *f) = std_ungetc
static nkf_char(* | i_mgetc_buf )(FILE *) = std_getc
static nkf_char(* | i_mungetc_buf )(nkf_char c, FILE *f) = std_ungetc
static int | output_mode = ASCII
static int | input_mode = ASCII
static int | mime_decode_mode = FALSE
static const unsigned char | cv []
static const unsigned char | dv []
static const unsigned char | ev []
static const unsigned char | ev_x0213 []
static const unsigned char | fv []
static int | option_mode = 0
static int | file_out_f = FALSE
static int | overwrite_f = FALSE
static int | preserve_time_f = FALSE
static int | backup_f = FALSE
static char * | backup_suffix = ""
static int | eolmode_f = 0
static int | input_eol = 0
static nkf_char | prev_cr = 0
struct {
const char * name
const char * alias
} | long_option []
static const nkf_char | score_table_A0 []
static const nkf_char | score_table_F0 []
static const nkf_char | score_table_8FA0 []
static const nkf_char | score_table_8FE0 []
static const nkf_char | score_table_8FF0 []
static nkf_state_t * | nkf_state = NULL
static nkf_char | hold_buf [HOLD_SIZE *2]
static int | hold_count = 0
static nkf_char | z_prev2 =0
static nkf_char | z_prev1 =0
static const unsigned char * | mime_pattern []
nkf_char(* | mime_priority_func [])(nkf_char c2, nkf_char c1, nkf_char c0)
static const nkf_char | mime_encode []
static const nkf_char | mime_encode_method []
struct {
unsigned char buf [MIME_BUF_SIZE]
unsigned int top
unsigned int last
unsigned int input
} | mime_input_state
static nkf_char(* | mime_iconv_back )(nkf_char c2, nkf_char c1, nkf_char c0) = NULL
static const char | basis_64 []
struct {
unsigned char buf [MIMEOUT_BUF_LENGTH+1]
int count
} | mimeout_state

## Macro Definition Documentation

#define bin2hex | ( |  | c | ) | ("0123456789ABCDEF"[c&15])

Definition at line 295 of file nkf.c.

Referenced by encode_fallback_java(), mimeout_addchar(), and nkf_each_char_to_hex().

#define BS 0x08

Definition at line 70 of file nkf.c.

Referenced by fold_conv().

#define char_size | ( |  | c2,
|  |  | c1
| ) |  | (c2?2:1)

Definition at line 3810 of file nkf.c.

Referenced by fold_conv().

#define CLASS_MASK NKF_INT32_C(0xFF000000)

Definition at line 423 of file nkf.c.

#define CLASS_UNICODE NKF_INT32_C(0x01000000)

Definition at line 424 of file nkf.c.

#define COPY_RIGHT

Value:
"Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).\n" \
"Copyright (C) 1996-2012, The nkf Project."

Definition at line 25 of file nkf.c.

Referenced by version().

#define CR 0x0d

Definition at line 73 of file nkf.c.

Referenced by eol_conv(), fold_conv(), kanji_convert(), mime_begin(), mime_getc(), mime_putc(), mimeout_addchar(), oconv_newline(), options(), print_guessed_code(), put_newline(), and show_configuration().

#define CRLF 0x0D0A

Definition at line 81 of file nkf.c.

Referenced by eol_conv(), oconv_newline(), options(), print_guessed_code(), put_newline(), and show_configuration().

#define DEFAULT_FOLD 60

Definition at line 505 of file nkf.c.

Referenced by options().

#define DEFAULT_J 'B'

Definition at line 311 of file nkf.c.

Referenced by reinit().

#define DEFAULT_R 'B'

Definition at line 312 of file nkf.c.

Referenced by reinit().

#define DEL 0x7f

Definition at line 76 of file nkf.c.

Referenced by code_status(), e_status(), h_conv(), kanji_convert(), mime_getc(), mime_prechar(), mime_putc(), s2e_conv(), s_status(), status_check(), and w_status().

#define ESC 0x1b

Definition at line 74 of file nkf.c.

Referenced by broken_getc(), h_conv(), kanji_convert(), and output_escape_sequence().

#define FIXED_MIME 7

Definition at line 57 of file nkf.c.

Referenced by eof_mime(), mime_getc(), mime_putc(), module_connection(), and options().

#define FOLD_MARGIN 10

Definition at line 504 of file nkf.c.

Referenced by reinit().

#define GETA1 0x22

Definition at line 315 of file nkf.c.

Referenced by e_iconv(), iso2022jp_check_conv(), and s_iconv().

#define GETA2 0x2e

Definition at line 316 of file nkf.c.

Referenced by e_iconv(), iso2022jp_check_conv(), and s_iconv().

#define hex2bin | ( |  | c | ) |

Value:
(('0'<=c&&c<='9') ? (c-'0') : \
('A'<=c&&c<='F') ? (c-'A'+10) : \
('a'<=c&&c<='f') ? (c-'a'+10) : 0)
c
VpDivd * c
Definition: bigdecimal.c:1205

Definition at line 292 of file nkf.c.

Referenced by hex_getc(), mime_getc(), numchar_getc(), and options().

#define HOLD_SIZE 1024

Definition at line 304 of file nkf.c.

Referenced by push_hold_buf().

#define IOBUF_SIZE 16384

Definition at line 308 of file nkf.c.

Referenced by main().

#define is_alnum | ( |  | c | ) | (('a'<=c && c<='z')||('A'<= c && c<='Z')||('0'<=c && c<='9'))

Definition at line 278 of file nkf.c.

Referenced by fold_conv(), mime_begin(), and mime_integrity().

#define is_eucg3 | ( |  | c2 | ) | (((unsigned short)c2 >> 8) == SS3)

Definition at line 296 of file nkf.c.

Referenced by e2s_conv(), e2w_conv(), e_oconv(), j_oconv(), s_oconv(), unicode_to_jis_common(), and x0212_shift().

#define is_ibmext_in_sjis | ( |  | c2 | ) | (CP932_TABLE_BEGIN <= c2 && c2 <= CP932_TABLE_END)

Definition at line 301 of file nkf.c.

Referenced by s2e_conv(), and s_status().

#define LAST break /* end of loop, go closing */

Definition at line 5824 of file nkf.c.

Referenced by kanji_convert().

#define LF 0x0a

Definition at line 72 of file nkf.c.

Referenced by eol_conv(), fold_conv(), kanji_convert(), mime_begin(), mime_getc(), mime_putc(), mimeout_addchar(), oconv_newline(), options(), print_guessed_code(), and put_newline().

#define MAXRECOVER 20

Definition at line 4315 of file nkf.c.

Referenced by mime_begin(), and mime_begin_strict().

#define MIME_BUF_MASK (MIME_BUF_SIZE-1)

Definition at line 4305 of file nkf.c.

Referenced by mime_integrity().

#define MIME_BUF_SIZE (1024) /* 2^n ring buffer */

Definition at line 4304 of file nkf.c.

#define mime_input_buf | ( |  | n | ) | mime_input_state.buf[(n)&MIME_BUF_MASK]

Definition at line 4306 of file nkf.c.

Referenced by mime_begin(), mime_getc(), mime_getc_buf(), mime_input_buf_unshift(), mime_integrity(), and mime_ungetc_buf().

#define MIMEOUT_BUF_LENGTH 74

Definition at line 5038 of file nkf.c.

Referenced by mime_putc().

#define MORE c2=c1;continue /* need one more byte */

Definition at line 5822 of file nkf.c.

Referenced by kanji_convert().

#define NEXT continue /* no output, get next */

Definition at line 5820 of file nkf.c.

Referenced by kanji_convert().

#define nkf_buf_empty_p | ( |  | buf | ) | ((buf)->len == 0)

Definition at line 860 of file nkf.c.

Referenced by broken_getc(), nkf_buf_pop(), and std_getc().

#define nkf_buf_length | ( |  | buf | ) | ((buf)->len)

Definition at line 859 of file nkf.c.

Referenced by broken_ungetc(), and nfc_getc().

#define nkf_byte_jisx0201_katakana_p | ( |  | c | ) | (SP <= c && c <= 0x5F)

Definition at line 302 of file nkf.c.

Referenced by kanji_convert().

#define nkf_char_euc3_new | ( |  | c | ) | ((c) | PREFIX_EUCG3)

Definition at line 428 of file nkf.c.

#define nkf_char_unicode_bmp_p | ( |  | c | ) | ((c & VALUE_MASK) <= UNICODE_BMP_MAX)

Definition at line 431 of file nkf.c.

Referenced by encode_fallback_java(), nkf_unicode_to_utf8(), and w16e_conv().

#define nkf_char_unicode_new | ( |  | c | ) | ((c) | CLASS_UNICODE)

Definition at line 429 of file nkf.c.

Referenced by e_iconv(), hira_conv(), kanji_convert(), numchar_getc(), s_iconv(), unicode_iconv(), w16e_conv(), w2e_conv(), and w_iconv().

#define nkf_char_unicode_p | ( |  | c | ) | ((c & CLASS_MASK) == CLASS_UNICODE)

Definition at line 430 of file nkf.c.

Referenced by e_oconv(), e_status(), h_conv(), j_oconv(), kanji_convert(), s_oconv(), s_status(), w_oconv(), w_oconv16(), w_oconv32(), w_status(), and z_conv().

#define nkf_char_unicode_value_p | ( |  | c | ) | ((c & VALUE_MASK) <= UNICODE_MAX)

Definition at line 432 of file nkf.c.

Referenced by nkf_unicode_to_utf8().

#define nkf_enc_asciicompat | ( |  | enc | ) |

Value:
(\
nkf_enc_to_base_encoding(enc) == &NkfEncodingASCII ||\
nkf_enc_to_base_encoding(enc) == &NkfEncodingISO_2022_JP)
NkfEncodingASCII
nkf_native_encoding NkfEncodingASCII
Definition: nkf.c:153
enc
VALUE enc
Definition: tcltklib.c:10311
NkfEncodingISO_2022_JP
nkf_native_encoding NkfEncodingISO_2022_JP
Definition: nkf.c:154
nkf_enc_to_base_encoding
#define nkf_enc_to_base_encoding(enc)
Definition: nkf.c:760

Definition at line 763 of file nkf.c.

Referenced by kanji_convert().

#define nkf_enc_cp5022x_p | ( |  | enc | ) |

Value:
(\
nkf_enc_to_index(enc) == CP50220 ||\
nkf_enc_to_index(enc) == CP50221 ||\
nkf_enc_to_index(enc) == CP50222)
enc
VALUE enc
Definition: tcltklib.c:10311
CP50220
Definition: nkf.c:90
CP50221
Definition: nkf.c:91
CP50222
Definition: nkf.c:92
nkf_enc_to_index
#define nkf_enc_to_index(enc)
Definition: nkf.c:759

Definition at line 770 of file nkf.c.

Referenced by kanji_convert().

#define nkf_enc_name | ( |  | enc | ) | (enc)->name

Definition at line 758 of file nkf.c.

Referenced by rb_nkf_convert(), rb_nkf_enc_get(), and show_configuration().

#define nkf_enc_to_base_encoding | ( |  | enc | ) | (enc)->base_encoding

Definition at line 760 of file nkf.c.

Referenced by rb_nkf_enc_get().

#define nkf_enc_to_iconv | ( |  | enc | ) | nkf_enc_to_base_encoding(enc)->iconv

Definition at line 761 of file nkf.c.

Referenced by module_connection().

#define nkf_enc_to_index | ( |  | enc | ) | (enc)->id

Definition at line 759 of file nkf.c.

Referenced by rb_nkf_convert(), set_input_encoding(), and set_output_encoding().

#define nkf_enc_to_oconv | ( |  | enc | ) | nkf_enc_to_base_encoding(enc)->oconv

Definition at line 762 of file nkf.c.

Referenced by module_connection().

#define nkf_enc_unicode_p | ( |  | enc | ) |

Value:
(\
nkf_enc_to_base_encoding(enc) == &NkfEncodingUTF_8 ||\
nkf_enc_to_base_encoding(enc) == &NkfEncodingUTF_16 ||\
nkf_enc_to_base_encoding(enc) == &NkfEncodingUTF_32)
NkfEncodingUTF_32
nkf_native_encoding NkfEncodingUTF_32
Definition: nkf.c:159
enc
VALUE enc
Definition: tcltklib.c:10311
nkf_enc_to_base_encoding
#define nkf_enc_to_base_encoding(enc)
Definition: nkf.c:760
NkfEncodingUTF_16
nkf_native_encoding NkfEncodingUTF_16
Definition: nkf.c:158
NkfEncodingUTF_8
nkf_native_encoding NkfEncodingUTF_8
Definition: nkf.c:157

Definition at line 766 of file nkf.c.

Referenced by hira_conv(), and module_connection().

#define NKF_ICONV_INVALID_CODE_RANGE -13

Definition at line 2319 of file nkf.c.

Referenced by unicode_iconv(), unicode_iconv_combine(), and utf32_to_nkf_char().

#define NKF_ICONV_NEED_ONE_MORE_BYTE (size_t)-1

Definition at line 2391 of file nkf.c.

#define NKF_ICONV_NEED_TWO_MORE_BYTES (size_t)-2

Definition at line 2392 of file nkf.c.

Referenced by kanji_convert(), and nkf_iconv_utf_16().

#define NKF_ICONV_NOT_COMBINED -15

Definition at line 2321 of file nkf.c.

Referenced by nkf_iconv_utf_16_combine(), and unicode_iconv_combine().

#define NKF_ICONV_WAIT_COMBINING_CHAR -14

Definition at line 2320 of file nkf.c.

Referenced by kanji_convert(), and unicode_iconv().

#define nkf_isalnum | ( |  | c | ) | (nkf_isdigit(c) || nkf_isalpha(c))

Definition at line 289 of file nkf.c.

Referenced by mimeout_addchar().

#define nkf_isalpha | ( |  | c | ) | (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z'))

Definition at line 288 of file nkf.c.

#define nkf_isblank | ( |  | c | ) | (c == SP || c == TAB)

Definition at line 286 of file nkf.c.

Referenced by fold_conv(), mime_getc(), mime_putc(), and open_mime().

#define nkf_isdigit | ( |  | c | ) | ('0'<=c && c<='9')

Definition at line 284 of file nkf.c.

Referenced by numchar_getc(), and options().

#define nkf_isgraph | ( |  | c | ) | ('!'<=c && c<='~')

Definition at line 291 of file nkf.c.

Referenced by e2s_conv(), e_oconv(), and options().

#define nkf_isoctal | ( |  | c | ) | ('0'<=c && c<='7')

Definition at line 283 of file nkf.c.

Referenced by options().

#define nkf_isprint | ( |  | c | ) | (SP<=c && c<='~')

Definition at line 290 of file nkf.c.

Referenced by s_oconv().

#define nkf_isspace | ( |  | c | ) | (nkf_isblank(c) || c == CR || c == LF)

Definition at line 287 of file nkf.c.

Referenced by mime_putc(), and open_mime().

#define nkf_isxdigit | ( |  | c | ) | (nkf_isdigit(c) || ('a'<=c && c<='f') || ('A'<=c && c <= 'F'))

Definition at line 285 of file nkf.c.

Referenced by hex_getc(), numchar_getc(), and options().

#define nkf_noescape_mime | ( |  | c | ) |

Value:
((c == CR) || (c == LF) || \
((c > SP) && (c < DEL) && (c != '?') && (c != '=') && (c != '_') \
&& (c != '(') && (c != ')') && (c != '.') && (c != 0x22)))
SP
#define SP
Definition: nkf.c:75
LF
#define LF
Definition: nkf.c:72
CR
#define CR
Definition: nkf.c:73
c
VpDivd * c
Definition: bigdecimal.c:1205
DEL
#define DEL
Definition: nkf.c:76

Definition at line 297 of file nkf.c.

Referenced by mime_putc().

#define NKF_RELEASE_DATE "2012-11-22"

Definition at line 24 of file nkf.c.

Referenced by Init_nkf(), show_configuration(), and version().

#define nkf_toupper | ( |  | c | ) | (('a'<=c && c<='z')?(c-('a'-'A')):c)

Definition at line 282 of file nkf.c.

Referenced by mime_begin_strict(), and nkf_str_caseeql().

#define NKF_UNSPECIFIED (-TRUE)

Definition at line 387 of file nkf.c.

Referenced by module_connection(), reinit(), set_input_encoding(), and set_output_encoding().

#define NKF_VERSION "2.1.3"

Definition at line 23 of file nkf.c.

Referenced by Init_nkf(), show_configuration(), and version().

#define nkf_xfree | ( |  | ptr | ) | free(ptr)

Definition at line 714 of file nkf.c.

Referenced by main(), and mime_getc().

#define output_ascii_escape_sequence | ( |  | mode | ) |

Value:
do { \
if (output_mode != ASCII && output_mode != ISO_8859_1) { \
(*o_putc)(ESC); \
(*o_putc)('('); \
(*o_putc)(ascii_intro); \
output_mode = mode; \
} \
} while (0)
ascii_intro
static unsigned char ascii_intro
Definition: nkf.c:500
ASCII
Definition: nkf.c:87
output_mode
static int output_mode
Definition: nkf.c:556
mode
VALUE mode
Definition: tcltklib.c:1664
if
if(RB_TYPE_P(r, T_FLOAT))
Definition: bigdecimal.c:1186
ESC
#define ESC
Definition: nkf.c:74
ISO_8859_1
Definition: nkf.c:88

Definition at line 2539 of file nkf.c.

Referenced by j_oconv().

#define OUTPUT_UTF16 | ( |  | val | ) |

Value:
do { \
if (nkf_char_unicode_bmp_p(val)) { \
c2 = (val >> 8) & 0xff; \
c1 = val & 0xff; \
OUTPUT_UTF16_BYTES(c1, c2); \
} else { \
val &= VALUE_MASK; \
if (val <= UNICODE_MAX) { \
c2 = (val >> 10) + NKF_INT32_C(0xD7C0); /* high surrogate */ \
c1 = (val & 0x3FF) + NKF_INT32_C(0xDC00); /* low surrogate */ \
OUTPUT_UTF16_BYTES(c2 & 0xff, (c2 >> 8) & 0xff); \
OUTPUT_UTF16_BYTES(c1 & 0xff, (c1 >> 8) & 0xff); \
} \
} \
} while (0)
OUTPUT_UTF16_BYTES
#define OUTPUT_UTF16_BYTES(c1, c2)
Definition: nkf.c:2835
nkf_char_unicode_bmp_p
#define nkf_char_unicode_bmp_p(c)
Definition: nkf.c:431
VALUE_MASK
#define VALUE_MASK
Definition: nkf.c:425
UNICODE_MAX
#define UNICODE_MAX
Definition: nkf.c:427
val
#define val
Definition: tcltklib.c:1949
if
if(RB_TYPE_P(r, T_FLOAT))
Definition: bigdecimal.c:1186
NKF_INT32_C
#define NKF_INT32_C(n)
Definition: nkf.h:40

Definition at line 2845 of file nkf.c.

Referenced by w_oconv16().

#define OUTPUT_UTF16_BYTES | ( |  | c1,
|  |  | c2
| ) |  |

Value:
do { \
if (output_endian == ENDIAN_LITTLE){ \
(*o_putc)(c1); \
(*o_putc)(c2); \
}else{ \
(*o_putc)(c2); \
(*o_putc)(c1); \
} \
} while (0)
output_endian
static int output_endian
Definition: nkf.c:366
if
if(RB_TYPE_P(r, T_FLOAT))
Definition: bigdecimal.c:1186
ENDIAN_LITTLE
Definition: nkf.c:63

Definition at line 2835 of file nkf.c.

Referenced by w_oconv16().

#define OUTPUT_UTF32 | ( |  | c | ) |

Value:
do { \
if (output_endian == ENDIAN_LITTLE){ \
(*o_putc)( (c) & 0xFF); \
(*o_putc)(((c) >> 8) & 0xFF); \
(*o_putc)(((c) >> 16) & 0xFF); \
(*o_putc)(0); \
}else{ \
(*o_putc)(0); \
(*o_putc)(((c) >> 16) & 0xFF); \
(*o_putc)(((c) >> 8) & 0xFF); \
(*o_putc)( (c) & 0xFF); \
} \
} while (0)
output_endian
static int output_endian
Definition: nkf.c:366
c
VpDivd * c
Definition: bigdecimal.c:1205
if
if(RB_TYPE_P(r, T_FLOAT))
Definition: bigdecimal.c:1186
ENDIAN_LITTLE
Definition: nkf.c:63

Definition at line 2889 of file nkf.c.

Referenced by w_oconv32().

#define OUTPUT_UTF8 | ( |  | val | ) |

Value:
do { \
nkf_unicode_to_utf8(val, &c1, &c2, &c3, &c4); \
(*o_putc)(c1); \
if (c2) (*o_putc)(c2); \
if (c3) (*o_putc)(c3); \
if (c4) (*o_putc)(c4); \
} while (0)
nkf_unicode_to_utf8
static void nkf_unicode_to_utf8(nkf_char val, nkf_char *p1, nkf_char *p2, nkf_char *p3, nkf_char *p4)
Definition: nkf.c:1698
val
#define val
Definition: tcltklib.c:1949
if
if(RB_TYPE_P(r, T_FLOAT))
Definition: bigdecimal.c:1186

Definition at line 2790 of file nkf.c.

Referenced by w_oconv().

#define PREFIX_EUCG3 NKF_INT32_C(0x8F00)

Definition at line 422 of file nkf.c.

Referenced by kanji_convert(), s2e_conv(), unicode_to_jis_common2(), w16e_conv(), and x0212_unshift().

#define RANGE_NUM_MAX 18

Referenced by iso2022jp_check_conv().

#define rot13 | ( |  | c | ) |

Value:
( \
( c < 'A') ? c: \
(c <= 'M') ? (c + 13): \
(c <= 'Z') ? (c - 13): \
(c < 'a') ? (c): \
(c <= 'm') ? (c + 13): \
(c <= 'z') ? (c - 13): \
(c) \
)
c
VpDivd * c
Definition: bigdecimal.c:1205

Definition at line 4142 of file nkf.c.

Referenced by rot_conv().

#define rot47 | ( |  | c | ) |

Value:
( \
( c < '!') ? c: \
( c <= 'O') ? (c + 47) : \
( c <= '~') ? (c - 47) : \
c \
)
c
VpDivd * c
Definition: bigdecimal.c:1205

Definition at line 4152 of file nkf.c.

Referenced by rot_conv().

#define SCORE_CP932 (SCORE_DEPEND << 1) /* IBM extended characters */

Definition at line 2946 of file nkf.c.

Referenced by get_guessed_code(), and s_status().

#define SCORE_DEPEND (SCORE_KANA << 1) /* MD Characters */

Definition at line 2945 of file nkf.c.

Referenced by get_guessed_code().

#define SCORE_ERROR (SCORE_iMIME << 1) /* Error */

Definition at line 2951 of file nkf.c.

Referenced by code_score().

#define SCORE_iMIME (SCORE_NO_EXIST << 1) /* MIME selected */

Definition at line 2950 of file nkf.c.

Referenced by mime_begin_strict().

#define SCORE_INIT (SCORE_iMIME)

Definition at line 2953 of file nkf.c.

Referenced by status_reset().

#define SCORE_KANA (SCORE_L2 << 1) /* Halfwidth Katakana */

Definition at line 2944 of file nkf.c.

Referenced by code_score(), and get_guessed_code().

#define SCORE_L2 (1) /* Kanji Level 2 */

Definition at line 2943 of file nkf.c.

Referenced by code_score().

#define SCORE_NO_EXIST (SCORE_X0213 << 1) /* Undefined Characters */

Definition at line 2949 of file nkf.c.

Referenced by code_score().

#define SCORE_X0212 (SCORE_CP932 << 1) /* JIS X 0212 */

Definition at line 2947 of file nkf.c.

Referenced by code_score(), and get_guessed_code().

#define SCORE_X0213 (SCORE_X0212 << 1) /* JIS X 0213 */

Definition at line 2948 of file nkf.c.

Referenced by get_guessed_code().

#define SEND (void)0 /* output c1 and c2, get next */

Definition at line 5823 of file nkf.c.

Referenced by kanji_convert().

#define set_input_mode | ( |  | mode | ) |

Value:
do { \
input_mode = mode; \
shift_mode = 0; \
set_input_codename("ISO-2022-JP"); \
debug("ISO-2022-JP"); \
} while (0)
set_input_codename
static void set_input_codename(const char *codename)
Definition: nkf.c:4540
mode
VALUE mode
Definition: tcltklib.c:1664
debug
static void debug(const char *str)
Definition: nkf.c:4531
input_mode
static int input_mode
Definition: nkf.c:557

Definition at line 5825 of file nkf.c.

Referenced by kanji_convert().

#define SI 0x0f

Definition at line 77 of file nkf.c.

Referenced by kanji_convert().

#define SJ0162 0x00e1 /* 01 - 62 ku offset */

Referenced by s2e_conv().

#define SJ6394 0x0161 /* 63 - 94 ku offset */

Referenced by s2e_conv().

#define SKIP c2=0;continue /* no output, get next */

Definition at line 5821 of file nkf.c.

Referenced by kanji_convert().

#define SO 0x0e

Definition at line 78 of file nkf.c.

Referenced by kanji_convert(), and unicode_to_jis_common2().

#define SP 0x20

Definition at line 75 of file nkf.c.

Referenced by e_iconv(), fold_conv(), kanji_convert(), mime_begin(), mime_begin_strict(), mime_getc(), mime_prechar(), mime_putc(), open_mime(), options(), s2e_conv(), s_iconv(), and z_conv().

#define SS2 0x8e

Definition at line 79 of file nkf.c.

Referenced by code_score(), e_iconv(), e_oconv(), e_status(), and s_status().

#define SS3 0x8f

Definition at line 80 of file nkf.c.

#define STD_GC_BUFSIZE (256)

Definition at line 3308 of file nkf.c.

Referenced by nkf_state_init().

#define STRICT_MIME 8

Definition at line 58 of file nkf.c.

Referenced by kanji_convert(), mime_getc(), options(), switch_mime_getc(), and unswitch_mime_getc().

#define TAB 0x09

Definition at line 71 of file nkf.c.

Referenced by fold_conv(), and mime_getc().

#define UCS_MAP_ASCII 0

Definition at line 347 of file nkf.c.

Referenced by e2w_conv(), options(), reinit(), set_input_encoding(), and set_output_encoding().

#define UCS_MAP_CP10001 3

Definition at line 350 of file nkf.c.

Referenced by e2w_conv(), kanji_convert(), set_input_encoding(), set_output_encoding(), and unicode_to_jis_common().

#define UCS_MAP_CP932 2

Definition at line 349 of file nkf.c.

Referenced by options(), set_input_encoding(), set_output_encoding(), and unicode_to_jis_common().

#define UCS_MAP_MS 1

Definition at line 348 of file nkf.c.

Referenced by options(), set_input_encoding(), set_output_encoding(), and unicode_to_jis_common().

#define UNICODE_BMP_MAX NKF_INT32_C(0x0000FFFF)

Definition at line 426 of file nkf.c.

#define UNICODE_MAX NKF_INT32_C(0x0010FFFF)

Definition at line 427 of file nkf.c.

#define UTF16_TO_UTF32 | ( |  | lead,
|  |  | trail
| ) |  | (((lead) << 10) + (trail) - NKF_INT32_C(0x35FDC00))

Definition at line 434 of file nkf.c.

Referenced by e2w_conv(), and nkf_iconv_utf_16().

#define VALUE_MASK NKF_INT32_C(0x00FFFFFF)

Definition at line 425 of file nkf.c.

Referenced by e_oconv(), encode_fallback_html(), encode_fallback_java(), j_oconv(), nkf_each_char_to_hex(), nkf_unicode_to_utf8(), s_oconv(), w16e_conv(), w_oconv(), w_oconv32(), and z_conv().

#define X0213_SURROGATE_FIND | ( |  | tbl,
|  |  | size,
|  |  | euc
| ) |  |

Value:
do { \
int i; \
for (i = 0; i < size; i++) \
if (tbl[i][0] == euc) { \
low = tbl[i][2]; \
break; \
} \
} while (0)
int
VP_EXPORT int
Definition: bigdecimal.c:5050
i
ssize_t i
Definition: bigdecimal.c:5655
tbl
VALUE tbl
Definition: tkutil.c:1280
for
for(v/=shifter=1)
Definition: bigdecimal.c:5677
size
int size
Definition: encoding.c:52

Definition at line 1963 of file nkf.c.

Referenced by e2w_conv().

## Enumeration Type Documentation

enum byte_order

Enumerator
ENDIAN_BIG |
ENDIAN_LITTLE |
ENDIAN_2143 |
ENDIAN_3412 |

Definition at line 61 of file nkf.c.

enum nkf_encodings

Enumerator
ASCII |
ISO_8859_1 |
ISO_2022_JP |
CP50220 |
CP50221 |
CP50222 |
ISO_2022_JP_1 |
ISO_2022_JP_3 |
ISO_2022_JP_2004 |
SHIFT_JIS |
WINDOWS_31J |
CP10001 |
EUC_JP |
EUCJP_NKF |
CP51932 |
EUCJP_MS |
EUCJP_ASCII |
SHIFT_JISX0213 |
SHIFT_JIS_2004 |
EUC_JISX0213 |
EUC_JIS_2004 |
UTF_8 |
UTF_8N |
UTF_8_BOM |
UTF8_MAC |
UTF_16 |
UTF_16BE |
UTF_16BE_BOM |
UTF_16LE |
UTF_16LE_BOM |
UTF_32 |
UTF_32BE |
UTF_32BE_BOM |
UTF_32LE |
UTF_32LE_BOM |
BINARY |
NKF_ENCODING_TABLE_SIZE |
JIS_X_0201_1976_K |
JIS_X_0208 |
JIS_X_0212 |
JIS_X_0213_2 |
JIS_X_0213_1 |

Definition at line 86 of file nkf.c.

## Function Documentation

static void base64_conv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 5480 of file nkf.c.

References mime_prechar().

Referenced by module_connection().

static nkf_char base64decode | ( | nkf_char | c | ) |
| static

Definition at line 4781 of file nkf.c.

References i.

Referenced by mime_getc().

static nkf_char broken_getc | ( | FILE * | f | ) |
| static

Definition at line 3689 of file nkf.c.

References ASCII, nkf_state_t::broken_buf, nkf_state_t::broken_state, c, ESC, f, input_mode, JIS_X_0201_1976_K, JIS_X_0208, nkf_buf_empty_p, nkf_buf_pop(), and nkf_buf_push().

Referenced by module_connection().

static nkf_char broken_ungetc | ( | nkf_char | c,
|  | FILE * | f
| ) |  |
| static

Referenced by module_connection().

static nkf_char broken_ungetc | ( | nkf_char | c,
|  | ARG_UNUSED FILE * | f
| ) |  |
| static

Definition at line 3728 of file nkf.c.

References nkf_state_t::broken_buf, c, nkf_buf_length, and nkf_buf_push().

static nkf_char cap_getc | ( | FILE * | f | ) |
| static

Definition at line 4632 of file nkf.c.

References hex_getc(), i_cgetc, and i_cungetc.

Referenced by module_connection().

static nkf_char cap_ungetc | ( | nkf_char | c,
|  | FILE * | f
| ) |  |
| static

Definition at line 4638 of file nkf.c.

References c, f, and i_cungetc.

Referenced by module_connection().

static void check_bom | ( | FILE * | f | ) |
| static

Definition at line 3575 of file nkf.c.

References ENDIAN_2143, ENDIAN_3412, ENDIAN_BIG, ENDIAN_LITTLE, f, i_getc, i_ungetc, iconv, input_bom_f, input_endian, set_iconv(), TRUE, w_iconv(), w_iconv16(), and w_iconv32().

Referenced by kanji_convert().

static void close_mime | ( | void |  | ) |
| static

Definition at line 5126 of file nkf.c.

References base64_count, and mimeout_mode.

Referenced by eof_mime(), and mime_putc().

static void clr_code_score | ( | struct input_code * | ptr,
|  | nkf_char | score
| ) |  |
| static

Definition at line 2999 of file nkf.c.

References input_code::score.

Referenced by mime_begin_strict().

static void code_score | ( | struct input_code * | ptr | ) |
| static

Definition at line 3007 of file nkf.c.

References input_code::buf, e2w_conv(), SCORE_ERROR, SCORE_KANA, SCORE_L2, SCORE_NO_EXIST, SCORE_X0212, set_code_score(), and SS2.

Referenced by e_status(), s_status(), status_disable(), and w_status().

static void code_status | ( | nkf_char | c | ) |
| static

Definition at line 3260 of file nkf.c.

References DEL, estab_f, input_code::iconv_func, input_code_list, input_code::name, p, ptr, result, set_iconv(), input_code::stat, input_code::status_func, status_reset(), and TRUE.

Referenced by h_conv(), and kanji_convert().

static void debug | ( | const char * | str | ) |
| static

Definition at line 4531 of file nkf.c.

References debug_f.

Referenced by kanji_convert(), and set_iconv().

static nkf_char e2s_conv | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char * | p2,
|  | nkf_char * | p1
| ) |  |
| static

Definition at line 1583 of file nkf.c.

References is_eucg3, is_x0213_2_in_x0212(), nkf_isgraph, ptr, val, x0212_shift(), x0212_shiftjis, and x0213_f.

Referenced by e_iconv(), e_oconv(), s_oconv(), and unicode_to_jis_common().

static nkf_char e2w_combining | ( | nkf_char | comb,
|  | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 2034 of file nkf.c.

References i, x0213_combining_chars, and x0213_combining_table.

Referenced by w_oconv(), w_oconv16(), and w_oconv32().

static nkf_char e2w_conv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 1973 of file nkf.c.

References euc_to_utf8_1byte, euc_to_utf8_2bytes, euc_to_utf8_2bytes_mac, euc_to_utf8_2bytes_ms, euc_to_utf8_2bytes_x0213, is_eucg3, JIS_X_0201_1976_K, ms_ucs_map_f, NKF_INT32_C, p, UCS_MAP_ASCII, UCS_MAP_CP10001, UTF16_TO_UTF32, val, x0212_to_utf8_2bytes, x0212_to_utf8_2bytes_x0213, x0213_1_surrogate_table, x0213_2_surrogate_table, x0213_f, and X0213_SURROGATE_FIND.

Referenced by code_score(), w_oconv(), w_oconv16(), and w_oconv32().

static nkf_char e_iconv | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char | c0
| ) |  |
| static

Definition at line 2120 of file nkf.c.

References cp51932_f, e2s_conv(), EOF, GETA1, GETA2, iso2022jp_f, ISO_8859_1, JIS_X_0201_1976_K, ms_ucs_map_f, nkf_char_unicode_new, s2e_conv(), SP, SS2, x0201_f, and x0213_f.

Referenced by module_connection().

static void e_oconv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 2643 of file nkf.c.

References ASCII, cp932inv_f, e2s_conv(), encode_fallback, EOF, EUC_JP, FALSE, is_eucg3, ISO_8859_1, JIS_X_0201_1976_K, nkf_char_unicode_p, nkf_isgraph, output_mode, s2e_conv(), set_iconv(), SS2, VALUE_MASK, w16e_conv(), and x0212_f.

static void e_status | ( | struct input_code * | ptr,
|  | nkf_char | c
| ) |  |
| static

Definition at line 3156 of file nkf.c.

References code_score(), DEL, nkf_char_unicode_p, SS2, input_code::stat, status_check(), status_clear(), status_disable(), and status_push_ch().

static void encode_fallback_html | ( | nkf_char | c | ) |
| static

Definition at line 1074 of file nkf.c.

References NKF_INT32_C, and VALUE_MASK.

Referenced by options().

static void encode_fallback_java | ( | nkf_char | c | ) |
| static

Definition at line 1109 of file nkf.c.

References bin2hex, nkf_char_unicode_bmp_p, and VALUE_MASK.

Referenced by options().

static void encode_fallback_perl | ( | nkf_char | c | ) |
| static

Definition at line 1130 of file nkf.c.

References nkf_each_char_to_hex().

Referenced by options().

static void encode_fallback_subchar | ( | nkf_char | c | ) |
| static

Definition at line 1141 of file nkf.c.

References unicode_subchar.

Referenced by options().

static void encode_fallback_xml | ( | nkf_char | c | ) |
| static

Definition at line 1098 of file nkf.c.

References nkf_each_char_to_hex().

Referenced by options().

static void eof_mime | ( | void |  | ) |
| static

Definition at line 5135 of file nkf.c.

References base64_count, close_mime(), FIXED_MIME, mimeout_f, mimeout_mode, and nkf_state_t::mimeout_state.

Referenced by mime_putc().

static void eol_conv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 3736 of file nkf.c.

References CR, CRLF, EOF, eolmode_f, guess_f, input_eol, LF, and prev_cr.

Referenced by module_connection().

static struct input_code* find_inputcode_byfunc | ( | nkf_char(*)(nkf_char c2, nkf_char c1, nkf_char c0) | iconv_func | ) |
| static

Definition at line 1494 of file nkf.c.

References input_code::iconv_func, input_code_list, input_code::name, and p.

Referenced by get_guessed_code(), mime_begin_strict(), and set_iconv().

static void fold_conv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 3813 of file nkf.c.

References BS, char_size, CR, EOF, f_line, f_prev, fold_len, fold_margin, fold_preserve_f, is_alnum, JIS_X_0201_1976_K, LF, nkf_isblank, o_fconv, oconv_newline(), SP, and TAB.

Referenced by module_connection().

static char* get_backup_filename | ( | const char * | suffix,
|  | const char * | filename
| ) |  |
| static

Definition at line 1019 of file nkf.c.

References i, nkf_xmalloc(), strcpy(), and strlen().

Referenced by main().

static const char* get_guessed_code | ( | void |  | ) |
| static

Definition at line 4550 of file nkf.c.

References find_inputcode_byfunc(), iconv, input_codename, p, input_code::score, SCORE_CP932, SCORE_DEPEND, SCORE_KANA, SCORE_X0212, and SCORE_X0213.

Referenced by print_guessed_code(), and rb_nkf_guess().

static int h_conv | ( | FILE * | f,
|  | nkf_char | c1,
|  | nkf_char | c2
| ) |  |
| static

Definition at line 3367 of file nkf.c.

References code_status(), DEL, EOF, ESC, estab_f, f, i_getc, i_ungetc, iconv, input_code::iconv_func, input_code_list, JIS_X_0201_1976_K, input_code::name, nkf_char_unicode_p, p, push_hold_buf(), result, ret, s_iconv(), input_code::score, set_iconv(), input_code::status_func, TRUE, w_iconv_combine(), and w_iconv_nocombine().

Referenced by kanji_convert().

static nkf_char hex_getc | ( | nkf_char | ch,
|  | FILE * | f,
|  | nkf_char(*)(FILE *f) | g,
|  | nkf_char(*)(nkf_char c, FILE *f) | u
| ) |  |
| static

Definition at line 4610 of file nkf.c.

References f, hex2bin, and nkf_isxdigit.

Referenced by cap_getc(), and url_getc().

static void hira_conv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 4172 of file nkf.c.

References hira_f, nkf_char_unicode_new, and nkf_enc_unicode_p.

Referenced by module_connection().

static int is_x0213_2_in_x0212 | ( | nkf_char | c1 | ) |
| static

Definition at line 1570 of file nkf.c.

Referenced by e2s_conv().

static void iso2022jp_check_conv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 4207 of file nkf.c.

References c, end, GETA1, GETA2, i, range, and RANGE_NUM_MAX.

Referenced by module_connection().

static void j_oconv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 2592 of file nkf.c.

References ASCII, encode_fallback, EOF, is_eucg3, ISO_8859_1, JIS_X_0201_1976_K, JIS_X_0208, JIS_X_0212, JIS_X_0213_1, JIS_X_0213_2, ms_ucs_map_f, nkf_char_unicode_p, output_ascii_escape_sequence, output_escape_sequence(), VALUE_MASK, w16e_conv(), and x0213_f.

static int kanji_convert | ( | FILE * | f | ) |
| static

Definition at line 5833 of file nkf.c.

References ASCII, broken_f, check_bom(), code_status(), CR, debug(), DEL, EOF, ESC, estab_f, f, FALSE, h_conv(), i_getc, i_ungetc, iconv, input_code_list, input_codename, input_mode, iso8859_f, ISO_8859_1, JIS_X_0201_1976_K, JIS_X_0208, JIS_X_0212, JIS_X_0213_1, JIS_X_0213_2, LAST, LF, mime_begin(), mime_begin_strict(), mime_decode_f, mime_decode_mode, mime_f, module_connection(), MORE, ms_ucs_map_f, input_code::name, NEXT, nkf_byte_jisx0201_katakana_p, nkf_char_unicode_new, nkf_char_unicode_p, nkf_enc_asciicompat, nkf_enc_cp5022x_p, NKF_ICONV_NEED_TWO_MORE_BYTES, nkf_iconv_utf_16(), nkf_iconv_utf_16_combine(), nkf_iconv_utf_16_nocombine(), nkf_iconv_utf_32(), nkf_iconv_utf_32_combine(), nkf_iconv_utf_32_nocombine(), NKF_ICONV_WAIT_COMBINING_CHAR, output_mode, p, PREFIX_EUCG3, result, s_iconv(), input_code::score, SEND, set_iconv(), set_input_codename(), set_input_mode, SI, SKIP, SO, SP, STRICT_MIME, TRUE, UCS_MAP_CP10001, w_iconv16(), w_iconv32(), w_iconv_combine(), and w_iconv_nocombine().

Referenced by main(), rb_nkf_convert(), and rb_nkf_guess().

int main | ( | int | argc,
|  | char ** | argv
| ) |  |

Definition at line 6918 of file nkf.c.

Referenced by iseq_data_to_ary(), and WinMain().

static nkf_char mime_begin | ( | FILE * | f | ) |
| static

Definition at line 4467 of file nkf.c.

References CR, EOF, f, FALSE, i, is_alnum, LF, MAXRECOVER, mime_decode_mode, mime_input_buf, mime_input_state, SP, and switch_mime_getc().

Referenced by kanji_convert().

static nkf_char mime_begin_strict | ( | FILE * | f | ) |
| static

Definition at line 4415 of file nkf.c.

References clr_code_score(), EOF, f, FALSE, find_inputcode_byfunc(), i, i_getc, iconv, MAXRECOVER, mime_decode_mode, mime_iconv_back, mime_integrity(), mime_priority_func, mimebuf_f, nkf_toupper, p, q, r, SCORE_iMIME, set_iconv(), SP, switch_mime_getc(), TRUE, and unbuf_f.

Referenced by kanji_convert().

static nkf_char mime_getc | ( | FILE * | f | ) |
| static

Definition at line 4803 of file nkf.c.

References ASCII, base64decode(), CR, DEL, EOF, f, FALSE, FIXED_MIME, hex2bin, i_getc, i_mgetc, i_ungetc, input_mode, LF, mime_decode_mode, mime_f, mime_input_buf, mime_input_state, mimebuf_f, mode, nkf_isblank, nkf_xfree, nkf_xmalloc(), nkf_xrealloc(), SP, STRICT_MIME, t1, TAB, and unswitch_mime_getc().

Referenced by module_connection(), and switch_mime_getc().

static nkf_char mime_getc_buf | ( | FILE * | f | ) |
| static

Definition at line 4341 of file nkf.c.

References i_mgetc_buf, mime_input_buf, mime_input_state, and mimebuf_f.

Referenced by switch_mime_getc().

static void mime_input_buf_unshift | ( | nkf_char | c | ) |
| static

Definition at line 4318 of file nkf.c.

References mime_input_buf, and mime_input_state.

Referenced by mime_ungetc().

static nkf_char mime_integrity | ( | FILE * | f,
|  | const unsigned char * | p
| ) |  |
| static

Definition at line 4376 of file nkf.c.

References c, d, EOF, i_getc, is_alnum, MIME_BUF_MASK, mime_decode_mode, mime_input_buf, mime_input_state, q, and switch_mime_getc().

Referenced by mime_begin_strict().

static void mime_prechar | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 5093 of file nkf.c.

References ASCII, base64_count, DEL, EOF, ISO_8859_1, mimeout_mode, mimeout_state, o_base64conv, oconv_newline(), open_mime(), output_mode, and SP.

Referenced by base64_conv().

static void mime_putc | ( | nkf_char | c | ) |
| static

Definition at line 5205 of file nkf.c.

References ASCII, base64_count, c, close_mime(), CR, DEL, EOF, eof_mime(), FIXED_MIME, flag, i, ISO_8859_1, len, LF, mimeout_addchar(), MIMEOUT_BUF_LENGTH, mimeout_f, mimeout_mode, mimeout_state, nkf_isblank, nkf_isspace, nkf_noescape_mime, o_mputc, open_mime(), output_mode, put_newline(), SP, str, and UTF_8.

Referenced by module_connection(), and open_mime().

static nkf_char mime_ungetc | ( | nkf_char | c,
|  | ARG_UNUSED FILE * | f
| ) |  |
| static

Definition at line 4324 of file nkf.c.

References c, and mime_input_buf_unshift().

Referenced by module_connection(), and switch_mime_getc().

static nkf_char mime_ungetc_buf | ( | nkf_char | c,
|  | FILE * | f
| ) |  |
| static

Definition at line 4331 of file nkf.c.

References c, f, mime_input_buf, mime_input_state, and mimebuf_f.

Referenced by switch_mime_getc().

static void mimeout_addchar | ( | nkf_char | c | ) |
| static

Definition at line 5162 of file nkf.c.

References base64_count, bin2hex, c, CR, LF, mimeout_mode, nkf_state_t::mimeout_state, and nkf_isalnum.

Referenced by mime_putc().

static int module_connection | ( | void |  | ) |
| static

Definition at line 5696 of file nkf.c.

References alpha_f, base64_conv(), broken_f, broken_getc(), broken_ungetc(), cap_f, cap_getc(), cap_ungetc(), e_iconv(), eol_conv(), eolmode_f, f_line, FALSE, FIXED_MIME, fold_conv(), fold_f, guess_f, hira_conv(), hira_f, i_bgetc, i_bungetc, i_cgetc, i_cungetc, i_getc, i_mgetc, i_mungetc, i_nfc_getc, i_nfc_ungetc, i_ngetc, i_nungetc, i_ugetc, i_ungetc, i_uungetc, input_code_list, iso2022jp_check_conv(), iso2022jp_f, ISO_2022_JP, mime_f, mime_getc(), mime_putc(), mime_ungetc(), mimebuf_f, mimeout_f, input_code::name, nfc_f, nfc_getc(), nfc_ungetc(), nkf_default_encoding(), nkf_enc_from_index(), nkf_enc_to_iconv, nkf_enc_to_oconv, nkf_enc_unicode_p, NKF_UNSPECIFIED, no_putc(), noout_f, numchar_f, numchar_getc(), numchar_ungetc(), o_base64conv, o_eol_conv, o_fconv, o_hira_conv, o_iso2022jp_check_conv, o_mputc, o_putc, o_rot_conv, o_zconv, oconv, output_mode, p, rot_conv(), rot_f, set_iconv(), set_input_encoding(), set_output_encoding(), status_reinit(), std_getc(), std_putc(), std_ungetc(), TRUE, url_f, url_getc(), url_ungetc(), UTF_8, X0201_DEFAULT, x0201_f, and z_conv().

Referenced by kanji_convert(), and noconvert().

static nkf_char nfc_getc | ( | FILE * | f | ) |
| static

Definition at line 4721 of file nkf.c.

References buf, c, EOF, f, i, i_nfc_getc, i_nfc_ungetc, len, nkf_state_t::nfc_buf, nkf_buf_at(), nkf_buf_clear(), nkf_buf_length, nkf_buf_pop(), nkf_buf_push(), and normalization_table.

Referenced by module_connection().

static nkf_char nfc_ungetc | ( | nkf_char | c,
|  | FILE * | f
| ) |  |
| static

Definition at line 4773 of file nkf.c.

References c, f, and i_nfc_ungetc.

Referenced by module_connection().

static nkf_char nkf_buf_at | ( | nkf_buf_t * | buf,
|  | int | index
| ) |  |
| static

Definition at line 863 of file nkf.c.

References assert, index, len, and nkf_buf_t::ptr.

Referenced by nfc_getc().

static void nkf_buf_clear | ( | nkf_buf_t * | buf | ) |
| static

Definition at line 870 of file nkf.c.

References nkf_buf_t::len.

Referenced by nfc_getc(), and nkf_state_init().

static nkf_buf_t* nkf_buf_new | ( | int | length | ) |
| static

Definition at line 841 of file nkf.c.

References buf, nkf_buf_t::capa, nkf_buf_t::len, length, nkf_xmalloc(), and nkf_buf_t::ptr.

Referenced by nkf_state_init().

static nkf_char nkf_buf_pop | ( | nkf_buf_t * | buf | ) |
| static

Definition at line 885 of file nkf.c.

References assert, nkf_buf_t::len, nkf_buf_empty_p, and nkf_buf_t::ptr.

Referenced by broken_getc(), nfc_getc(), and std_getc().

static void nkf_buf_push | ( | nkf_buf_t * | buf,
|  | nkf_char | c
| ) |  |
| static

Definition at line 876 of file nkf.c.

References c, nkf_buf_t::capa, EXIT_FAILURE, nkf_buf_t::len, and nkf_buf_t::ptr.

Referenced by broken_getc(), broken_ungetc(), nfc_getc(), and std_ungetc().

static nkf_encoding* nkf_default_encoding | ( |  | ) |
| static

Definition at line 822 of file nkf.c.

References enc, nkf_enc_from_index(), nkf_locale_encoding(), and nkf_utf8_encoding().

Referenced by module_connection(), and show_configuration().

static void nkf_each_char_to_hex | ( | void(*)(nkf_char c2, nkf_char c1) | f,
|  | nkf_char | c
| ) |  |
| static

Definition at line 1056 of file nkf.c.

References bin2hex, NKF_INT32_C, shift, and VALUE_MASK.

Referenced by encode_fallback_perl(), and encode_fallback_xml().

static nkf_encoding* nkf_enc_find | ( | const char * | name | ) |
| static

Definition at line 750 of file nkf.c.

References idx, nkf_enc_find_index(), and nkf_enc_from_index().

Referenced by nkf_locale_encoding(), options(), and rb_nkf_enc_get().

static int nkf_enc_find_index | ( | const char * | name | ) |
| static

Definition at line 737 of file nkf.c.

References encoding_name_to_id_table, i, and nkf_str_caseeql().

Referenced by nkf_enc_find().

static nkf_encoding* nkf_enc_from_index | ( | int | idx | ) |
| static

Definition at line 728 of file nkf.c.

References idx, and NKF_ENCODING_TABLE_SIZE.

Referenced by module_connection(), nkf_default_encoding(), nkf_enc_find(), options(), and rb_nkf_convert().

static size_t nkf_iconv_utf_16 | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3,
|  | nkf_char | c4
| ) |  |
| static

Definition at line 2394 of file nkf.c.

References ENDIAN_BIG, EOF, FALSE, input_endian, NKF_ICONV_NEED_TWO_MORE_BYTES, unicode_iconv(), and UTF16_TO_UTF32.

Referenced by kanji_convert().

static size_t nkf_iconv_utf_16_combine | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3,
|  | nkf_char | c4
| ) |  |
| static

Definition at line 2425 of file nkf.c.

References ENDIAN_BIG, input_endian, NKF_ICONV_NOT_COMBINED, and unicode_iconv_combine().

Referenced by kanji_convert().

static size_t nkf_iconv_utf_16_nocombine | ( | nkf_char | c1,
|  | nkf_char | c2
| ) |  |
| static

Definition at line 2449 of file nkf.c.

References ENDIAN_BIG, input_endian, TRUE, and unicode_iconv().

Referenced by kanji_convert().

static size_t nkf_iconv_utf_32 | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3,
|  | nkf_char | c4
| ) |  |
| static

Definition at line 2498 of file nkf.c.

References EOF, FALSE, unicode_iconv(), and utf32_to_nkf_char().

Referenced by kanji_convert().

static nkf_char nkf_iconv_utf_32_combine | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3,
|  | nkf_char | c4,
|  | nkf_char | c5,
|  | nkf_char | c6,
|  | nkf_char | c7,
|  | nkf_char | c8
| ) |  |
| static

Definition at line 2515 of file nkf.c.

References unicode_iconv_combine(), and utf32_to_nkf_char().

Referenced by kanji_convert().

static size_t nkf_iconv_utf_32_nocombine | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3,
|  | nkf_char | c4
| ) |  |
| static

Definition at line 2530 of file nkf.c.

References TRUE, unicode_iconv(), and utf32_to_nkf_char().

Referenced by kanji_convert().

static const char* nkf_locale_charmap | ( |  | ) |
| static

Definition at line 777 of file nkf.c.

References buf, NULL, strcpy(), and ULONG().

Referenced by nkf_locale_encoding().

static nkf_encoding* nkf_locale_encoding | ( |  | ) |
| static

Definition at line 805 of file nkf.c.

References enc, encname, nkf_enc_find(), and nkf_locale_charmap().

Referenced by nkf_default_encoding().

static void nkf_state_init | ( | void |  | ) |
| static

Definition at line 3311 of file nkf.c.

References nkf_state_t::broken_buf, nkf_state_t::broken_state, nkf_state_t::mimeout_state, nkf_state_t::nfc_buf, nkf_buf_clear(), nkf_buf_new(), nkf_xmalloc(), nkf_state_t::std_gc_buf, and STD_GC_BUFSIZE.

Referenced by main(), and reinit().

static int nkf_str_caseeql | ( | const char * | src,
|  | const char * | target
| ) |  |
| static

Definition at line 717 of file nkf.c.

References FALSE, i, nkf_toupper, and TRUE.

Referenced by nkf_enc_find_index().

static void nkf_unicode_to_utf8 | ( | nkf_char | val,
|  | nkf_char * | p1,
|  | nkf_char * | p2,
|  | nkf_char * | p3,
|  | nkf_char * | p4
| ) |  |
| static

Definition at line 1698 of file nkf.c.

References nkf_char_unicode_bmp_p, nkf_char_unicode_value_p, val, and VALUE_MASK.

Referenced by w16e_conv().

static nkf_encoding* nkf_utf8_encoding | ( |  | ) |
| static

Definition at line 816 of file nkf.c.

References UTF_8.

Referenced by nkf_default_encoding().

static nkf_char nkf_utf8_to_unicode | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3,
|  | nkf_char | c4
| ) |  |
| static

Definition at line 1730 of file nkf.c.

Referenced by w2e_conv(), w_iconv(), and w_iconv_combine().

static void* nkf_xmalloc | ( | size_t | size | ) |
| static

Definition at line 685 of file nkf.c.

References EXIT_FAILURE, malloc(), NULL, and ptr.

Referenced by get_backup_filename(), main(), mime_getc(), nkf_buf_new(), and nkf_state_init().

static void* nkf_xrealloc | ( | void * | ptr,
|  | size_t | size
| ) |  |
| static

Definition at line 701 of file nkf.c.

References EXIT_FAILURE, NULL, ptr, and realloc().

Referenced by mime_getc().

static void no_connection | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 520 of file nkf.c.

References no_connection2().

Referenced by reinit().

static nkf_char no_connection2 | ( | ARG_UNUSED nkf_char | c2,
|  | ARG_UNUSED nkf_char | c1,
|  | ARG_UNUSED nkf_char | c0
| ) |  |
| static

Definition at line 512 of file nkf.c.

References EXIT_FAILURE.

Referenced by no_connection().

static void no_putc | ( | nkf_char | c | ) |
| static

Referenced by module_connection().

static void no_putc | ( | ARG_UNUSED nkf_char | c | ) |
| static

Definition at line 4525 of file nkf.c.

static nkf_char noconvert | ( | FILE * | f | ) |
| static

Definition at line 5807 of file nkf.c.

References c, EOF, i_getc, module_connection(), and nop_f.

Referenced by main().

static nkf_char numchar_getc | ( | FILE * | f | ) |
| static

Definition at line 4658 of file nkf.c.

References buf, c, f, hex2bin, i, i_ngetc, i_nungetc, nkf_char_unicode_new, nkf_isdigit, and nkf_isxdigit.

Referenced by module_connection().

static nkf_char numchar_ungetc | ( | nkf_char | c,
|  | FILE * | f
| ) |  |
| static

Definition at line 4712 of file nkf.c.

References c, f, and i_nungetc.

Referenced by module_connection().

static void oconv_newline | ( | void(*)(nkf_char, nkf_char) | func | ) |
| static

Definition at line 3774 of file nkf.c.

References CR, CRLF, DEFAULT_NEWLINE, eolmode_f, and LF.

Referenced by fold_conv(), and mime_prechar().

static void open_mime | ( | nkf_char | mode | ) |
| static

Definition at line 5047 of file nkf.c.

References base64_count, i, mime_putc(), mimeout_mode, mimeout_state, nkf_isblank, nkf_isspace, o_mputc, p, put_newline(), and SP.

Referenced by mime_prechar(), and mime_putc().

static int options | ( | unsigned char * | cp | ) |
| static

Definition at line 6355 of file nkf.c.

References alias, alpha_f, ascii_intro, backup_f, backup_suffix, binmode_f, broken_f, cap_f, cp, cp51932_f, cp932inv_f, CR, CRLF, debug_f, DEFAULT_FOLD, enc, encode_fallback, encode_fallback_html(), encode_fallback_java(), encode_fallback_perl(), encode_fallback_subchar(), encode_fallback_xml(), ENDIAN_BIG, ENDIAN_LITTLE, eolmode_f, EUCJP_NKF, EXIT_SUCCESS, FALSE, file_out_f, FIXED_MIME, fold_f, fold_len, fold_margin, fold_preserve_f, guess_f, hex2bin, hira_f, i, input_endian, int, iso2022jp_f, iso8859_f, ISO_2022_JP, ISO_8859_1, kanji_intro, LF, long_option, mime_decode_f, mime_decode_mode, mime_f, mimebuf_f, mimeout_f, mimeout_mode, ms_ucs_map_f, name, nfc_f, nkf_enc_find(), nkf_enc_from_index(), nkf_isdigit, nkf_isgraph, nkf_isoctal, nkf_isxdigit, no_best_fit_chars_f, no_cp932ext_f, noout_f, nop_f, NULL, numchar_f, option_mode, output_bom_f, output_endian, overwrite_f, p, prefix_table, preserve_time_f, rot_f, SHIFT_JIS, show_configuration(), SP, STRICT_MIME, TRUE, UCS_MAP_ASCII, UCS_MAP_CP932, UCS_MAP_MS, unbuf_f, unicode_subchar, url_f, usage(), UTF_16, UTF_16BE, UTF_16BE_BOM, UTF_16LE, UTF_16LE_BOM, UTF_32, UTF_32BE, UTF_32BE_BOM, UTF_32LE, UTF_32LE_BOM, UTF_8, UTF_8_BOM, UTF_8N, version(), w16e_conv(), x0201_f, and x0212_f.

static void output_escape_sequence | ( | int | mode | ) |
| static

Definition at line 2549 of file nkf.c.

References ESC, ISO_8859_1, JIS_X_0201_1976_K, JIS_X_0208, JIS_X_0212, JIS_X_0213_1, JIS_X_0213_2, kanji_intro, mode, and output_mode.

Referenced by j_oconv().

static void print_guessed_code | ( | char * | filename | ) |
| static

Definition at line 4580 of file nkf.c.

References CR, CRLF, ENDIAN_BIG, ENDIAN_LITTLE, EOF, get_guessed_code(), guess_f, iconv, input_bom_f, input_codename, input_endian, input_eol, LF, NULL, w_iconv16(), and w_iconv32().

Referenced by main().

static nkf_char push_hold_buf | ( | nkf_char | c2 | ) |
| static

Definition at line 3358 of file nkf.c.

References EOF, and HOLD_SIZE.

Referenced by h_conv().

static void put_newline | ( | void(*)(nkf_char) | func | ) |
| static

Definition at line 3757 of file nkf.c.

References CR, CRLF, DEFAULT_NEWLINE, eolmode_f, and LF.

Referenced by mime_putc(), and open_mime().

static void reinit | ( | void |  | ) |
| static

Definition at line 5578 of file nkf.c.

References alpha_f, ASCII, ascii_intro, base64_count, binmode_f, broken_f, cap_f, cp51932_f, cp932inv_f, debug_f, DEFAULT_J, DEFAULT_R, encode_fallback, ENDIAN_BIG, eolmode_f, estab_f, f_line, f_prev, FALSE, file_out_f, fold_f, fold_len, FOLD_MARGIN, fold_margin, fold_preserve_f, guess_f, hira_f, i, i_bgetc, i_bungetc, i_getc, i_mgetc, i_mgetc_buf, i_mungetc, i_mungetc_buf, i_ungetc, iconv_for_check, input_code_list, input_codename, input_endian, input_eol, input_mode, iso2022jp_f, iso8859_f, kanji_intro, MIME_DECODE_DEFAULT, mime_decode_f, mime_decode_mode, mime_f, mimebuf_f, mimeout_f, mimeout_mode, mimeout_state, ms_ucs_map_f, input_code::name, nfc_f, nkf_state_init(), NKF_UNSPECIFIED, no_best_fit_chars_f, no_connection(), no_cp932ext_f, noout_f, nop_f, NULL, numchar_f, o_base64conv, o_eol_conv, o_fconv, o_hira_conv, o_iso2022jp_check_conv, o_mputc, o_putc, o_rot_conv, o_zconv, option_mode, output_bom_f, output_endian, output_mode, p, prefix_table, prev_cr, rot_f, status_reinit(), std_getc(), std_putc(), std_ungetc(), TRUE, UCS_MAP_ASCII, unbuf_f, unicode_subchar, url_f, x0201_f, x0212_f, x0213_f, and z_prev1.

Referenced by main(), rb_nkf_convert(), and rb_nkf_guess().

static void rot_conv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 4160 of file nkf.c.

References ISO_8859_1, JIS_X_0201_1976_K, rot13, and rot47.

Referenced by module_connection().

static nkf_char s2e_conv | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char * | p2,
|  | nkf_char * | p1
| ) |  |
| static

Definition at line 1626 of file nkf.c.

References cp932inv, cp932inv_f, DEL, is_ibmext_in_sjis, PREFIX_EUCG3, shiftjis_cp932, shiftjis_x0212, SJ0162, SJ6394, SP, val, x0212_unshift(), and x0213_f.

Referenced by e_iconv(), e_oconv(), s_iconv(), s_status(), and unicode_to_jis_common().

static nkf_char s_iconv | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char | c0
| ) |  |
| static

Referenced by h_conv(), and kanji_convert().

static nkf_char s_iconv | ( | ARG_UNUSED nkf_char | c2,
|  | nkf_char | c1,
|  | ARG_UNUSED nkf_char | c0
| ) |  |
| static

Definition at line 2184 of file nkf.c.

References EOF, GETA1, GETA2, iso2022jp_f, JIS_X_0201_1976_K, nkf_char_unicode_new, ret, s2e_conv(), SP, x0201_f, and x0213_f.

static void s_oconv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 2719 of file nkf.c.

References ASCII, c, cp932inv, cp932inv_f, e2s_conv(), encode_fallback, EOF, FALSE, is_eucg3, ISO_8859_1, JIS_X_0201_1976_K, nkf_char_unicode_p, nkf_isprint, output_mode, prefix_table, set_iconv(), SHIFT_JIS, VALUE_MASK, w16e_conv(), and x0213_f.

static void s_status | ( | struct input_code * | ptr,
|  | nkf_char | c
| ) |  |
| static

Definition at line 3083 of file nkf.c.

References input_code::buf, code_score(), DEL, is_ibmext_in_sjis, nkf_char_unicode_p, s2e_conv(), SCORE_CP932, set_code_score(), SS2, input_code::stat, status_check(), status_clear(), status_disable(), and status_push_ch().

static void set_code_score | ( | struct input_code * | ptr,
|  | nkf_char | score
| ) |  |
| static

Definition at line 2991 of file nkf.c.

References input_code::score.

Referenced by code_score(), and s_status().

static void set_iconv | ( | nkf_char | f,
|  | nkf_char(*)(nkf_char c2, nkf_char c1, nkf_char c0) | iconv_func
| ) |  |
| static

Definition at line 1509 of file nkf.c.

References debug(), estab_f, f, find_inputcode_byfunc(), iconv, iconv_for_check, input_code::iconv_func, INPUT_CODE_FIX, input_code::name, p, set_input_codename(), and TRUE.

Referenced by check_bom(), code_status(), e_oconv(), h_conv(), kanji_convert(), mime_begin_strict(), module_connection(), s_oconv(), status_disable(), and unswitch_mime_getc().

static void set_input_codename | ( | const char * | codename | ) |
| static

Definition at line 4540 of file nkf.c.

References input_codename.

Referenced by kanji_convert(), and set_iconv().

static void set_input_encoding | ( | nkf_encoding * | enc | ) |
| static

Definition at line 1230 of file nkf.c.

References CP10001, CP50220, CP50221, CP50222, CP51932, cp51932_f, cp932inv_f, ENDIAN_BIG, ENDIAN_LITTLE, EUC_JIS_2004, EUC_JISX0213, EUC_JP, EUCJP_ASCII, EUCJP_MS, EUCJP_NKF, FALSE, input_endian, iso8859_f, ISO_2022_JP_1, ISO_2022_JP_2004, ISO_2022_JP_3, ISO_8859_1, ms_ucs_map_f, nfc_f, nkf_enc_to_index, NKF_UNSPECIFIED, SHIFT_JIS, SHIFT_JIS_2004, SHIFT_JISX0213, TRUE, UCS_MAP_ASCII, UCS_MAP_CP10001, UCS_MAP_CP932, UCS_MAP_MS, UTF8_MAC, UTF_16, UTF_16BE, UTF_16BE_BOM, UTF_16LE, UTF_16LE_BOM, UTF_32, UTF_32BE, UTF_32BE_BOM, UTF_32LE, UTF_32LE_BOM, WINDOWS_31J, x0201_f, x0212_f, and x0213_f.

Referenced by module_connection().

static void set_output_encoding | ( | nkf_encoding * | enc | ) |
| static

Definition at line 1353 of file nkf.c.

References CP10001, CP50220, CP50221, CP51932, cp932inv_f, ENDIAN_LITTLE, EUC_JIS_2004, EUC_JISX0213, EUC_JP, EUCJP_ASCII, EUCJP_MS, EUCJP_NKF, FALSE, ISO_2022_JP, ISO_2022_JP_1, ISO_2022_JP_2004, ISO_2022_JP_3, ms_ucs_map_f, nkf_enc_to_index, NKF_UNSPECIFIED, output_bom_f, output_endian, SHIFT_JIS, SHIFT_JIS_2004, SHIFT_JISX0213, TRUE, UCS_MAP_ASCII, UCS_MAP_CP10001, UCS_MAP_CP932, UCS_MAP_MS, UTF_16, UTF_16BE_BOM, UTF_16LE, UTF_16LE_BOM, UTF_32, UTF_32BE_BOM, UTF_32LE, UTF_32LE_BOM, UTF_8_BOM, WINDOWS_31J, x0201_f, x0212_f, and x0213_f.

Referenced by module_connection().

static void show_configuration | ( | void |  | ) |
| static

Definition at line 966 of file nkf.c.

References CR, CRLF, DEFAULT_CODE_LOCALE, DEFAULT_NEWLINE, HELP_OUTPUT, MIME_DECODE_DEFAULT, nkf_default_encoding(), nkf_enc_name, NKF_RELEASE_DATE, NKF_VERSION, and X0201_DEFAULT.

Referenced by options().

static void status_check | ( | struct input_code * | ptr,
|  | nkf_char | c
| ) |  |
| static

Definition at line 3075 of file nkf.c.

References DEL, estab_f, and status_reset().

Referenced by e_status(), s_status(), and w_status().

static void status_clear | ( | struct input_code * | ptr | ) |
| static

Definition at line 3054 of file nkf.c.

References input_code::index, and input_code::stat.

Referenced by e_status(), s_status(), status_reset(), and w_status().

static void status_disable | ( | struct input_code * | ptr | ) |
| static

Definition at line 3039 of file nkf.c.

References input_code::buf, code_score(), FALSE, iconv, input_code::iconv_func, set_iconv(), and input_code::stat.

Referenced by e_status(), s_status(), and w_status().

static void status_push_ch | ( | struct input_code * | ptr,
|  | nkf_char | c
| ) |  |
| static

Definition at line 3048 of file nkf.c.

References input_code::buf, c, and input_code::index.

Referenced by e_status(), s_status(), and w_status().

static void status_reinit | ( | struct input_code * | ptr | ) |
| static

Definition at line 3068 of file nkf.c.

References input_code::_file_stat, and status_reset().

Referenced by module_connection(), and reinit().

static void status_reset | ( | struct input_code * | ptr | ) |
| static

Definition at line 3061 of file nkf.c.

References input_code::score, SCORE_INIT, and status_clear().

Referenced by code_status(), status_check(), and status_reinit().

static nkf_char std_getc | ( | FILE * | f | ) |
| static

Definition at line 3330 of file nkf.c.

References getc, nkf_buf_empty_p, nkf_buf_pop(), and nkf_state_t::std_gc_buf.

Referenced by module_connection(), and reinit().

static void std_putc | ( | nkf_char | c | ) |
| static

Definition at line 3348 of file nkf.c.

References EOF, and putchar.

Referenced by module_connection(), and reinit().

static nkf_char std_ungetc | ( | nkf_char | c,
|  | FILE * | f
| ) |  |
| static

Referenced by module_connection(), and reinit().

static nkf_char std_ungetc | ( | nkf_char | c,
|  | ARG_UNUSED FILE * | f
| ) |  |
| static

Definition at line 3340 of file nkf.c.

References c, nkf_buf_push(), and nkf_state_t::std_gc_buf.

static void switch_mime_getc | ( | void |  | ) |
| static

Definition at line 4350 of file nkf.c.

References i_getc, i_mgetc, i_mgetc_buf, i_mungetc, i_mungetc_buf, i_ungetc, mime_f, mime_getc(), mime_getc_buf(), mime_ungetc(), mime_ungetc_buf(), and STRICT_MIME.

Referenced by mime_begin(), mime_begin_strict(), and mime_integrity().

static size_t unicode_iconv | ( | nkf_char | wc,
|  | int | nocombine
| ) |  |
| static

Definition at line 2323 of file nkf.c.

References nkf_char_unicode_new, NKF_ICONV_INVALID_CODE_RANGE, NKF_ICONV_WAIT_COMBINING_CHAR, ret, w16e_conv(), x0213_f, and x0213_wait_combining_p().

Referenced by nkf_iconv_utf_16(), nkf_iconv_utf_16_nocombine(), nkf_iconv_utf_32(), and nkf_iconv_utf_32_nocombine().

static nkf_char unicode_iconv_combine | ( | nkf_char | wc,
|  | nkf_char | wc2
| ) |  |
| static

Definition at line 2350 of file nkf.c.

References i, NKF_ICONV_INVALID_CODE_RANGE, NKF_ICONV_NOT_COMBINED, x0213_combining_p(), and x0213_combining_table.

Referenced by nkf_iconv_utf_16_combine(), nkf_iconv_utf_32_combine(), and w_iconv_combine().

static int unicode_to_jis_common | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char | c0,
|  | nkf_char * | p2,
|  | nkf_char * | p1
| ) |  |
| static

Definition at line 1805 of file nkf.c.

References cp932inv_f, e2s_conv(), is_eucg3, ms_ucs_map_f, no_best_fit_chars_f, ret, s2e_conv(), UCS_MAP_CP10001, UCS_MAP_CP932, UCS_MAP_MS, unicode_to_jis_common2(), utf8_to_euc_2bytes, utf8_to_euc_2bytes_932, utf8_to_euc_2bytes_mac, utf8_to_euc_2bytes_ms, utf8_to_euc_2bytes_x0213, utf8_to_euc_3bytes, utf8_to_euc_3bytes_932, utf8_to_euc_3bytes_mac, utf8_to_euc_3bytes_ms, utf8_to_euc_3bytes_x0213, and x0213_f.

Referenced by w16e_conv(), and w2e_conv().

static int unicode_to_jis_common2 | ( | nkf_char | c1,
|  | nkf_char | c0,
|  | const unsigned short *const * | pp,
|  | nkf_char | psize,
|  | nkf_char * | p2,
|  | nkf_char * | p1
| ) |  |
| static

Definition at line 1768 of file nkf.c.

References JIS_X_0201_1976_K, NKF_INT32_C, no_cp932ext_f, p, PREFIX_EUCG3, SO, and val.

Referenced by unicode_to_jis_common().

static void unswitch_mime_getc | ( | void |  | ) |
| static

Definition at line 4363 of file nkf.c.

References FALSE, i_getc, i_mgetc, i_mgetc_buf, i_mungetc, i_mungetc_buf, i_ungetc, mime_f, mime_iconv_back, NULL, set_iconv(), and STRICT_MIME.

Referenced by mime_getc().

static nkf_char url_getc | ( | FILE * | f | ) |
| static

Definition at line 4644 of file nkf.c.

References hex_getc(), i_ugetc, and i_uungetc.

Referenced by module_connection().

static nkf_char url_ungetc | ( | nkf_char | c,
|  | FILE * | f
| ) |  |
| static

Definition at line 4650 of file nkf.c.

References c, f, and i_uungetc.

Referenced by module_connection().

static void usage | ( | void |  | ) |
| static

Definition at line 904 of file nkf.c.

References HELP_OUTPUT, INPUT_OPTION, NUMCHAR_OPTION, OVERWRITE, UTF8_INPUT_ENABLE, UTF8_OUTPUT_ENABLE, and version().

Referenced by options().

static nkf_char utf32_to_nkf_char | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3,
|  | nkf_char | c4
| ) |  |
| static

Definition at line 2474 of file nkf.c.

References ENDIAN_2143, ENDIAN_3412, ENDIAN_BIG, ENDIAN_LITTLE, input_endian, and NKF_ICONV_INVALID_CODE_RANGE.

Referenced by nkf_iconv_utf_32(), nkf_iconv_utf_32_combine(), and nkf_iconv_utf_32_nocombine().

static void version | ( | void |  | ) |
| static

Definition at line 898 of file nkf.c.

References COPY_RIGHT, HELP_OUTPUT, NKF_RELEASE_DATE, and NKF_VERSION.

Referenced by dump_option(), foletypelib_s_typelibs(), Init_curses(), Init_dbm(), Init_readline(), Init_version(), oletypelib_search_registry2(), options(), ossl_x509_set_version(), ossl_x509crl_set_version(), ossl_x509req_get_version(), ossl_x509req_set_version(), parse(), proc_options(), process_options(), rb_call_inits(), StartSockets(), and usage().

static nkf_char w16e_conv | ( | nkf_char | val,
|  | nkf_char * | p2,
|  | nkf_char * | p1
| ) |  |
| static

Definition at line 2074 of file nkf.c.

References i, nkf_char_unicode_bmp_p, nkf_char_unicode_new, NKF_INT32_C, nkf_unicode_to_utf8(), PREFIX_EUCG3, ret, unicode_to_jis_common(), val, VALUE_MASK, x0213_1_surrogate_table, x0213_2_surrogate_table, and x0213_f.

Referenced by e_oconv(), j_oconv(), options(), s_oconv(), and unicode_iconv().

static nkf_char w2e_conv | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char | c0,
|  | nkf_char * | p2,
|  | nkf_char * | p1
| ) |  |
| static

Definition at line 2052 of file nkf.c.

References nkf_char_unicode_new, nkf_utf8_to_unicode(), ret, and unicode_to_jis_common().

Referenced by w_iconv(), w_iconv_nocombine(), and w_status().

static nkf_char w_iconv | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char | c0
| ) |  |
| static

Definition at line 2232 of file nkf.c.

References EOF, nkf_char_unicode_new, nkf_utf8_to_unicode(), ret, w2e_conv(), x0213_f, and x0213_wait_combining_p().

Referenced by check_bom().

static nkf_char w_iconv16 | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char | c0
| ) |  |
| static

Referenced by check_bom(), kanji_convert(), and print_guessed_code().

static nkf_char w_iconv16 | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | ARG_UNUSED nkf_char | c0
| ) |  |
| static

Definition at line 2460 of file nkf.c.

static nkf_char w_iconv32 | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | nkf_char | c0
| ) |  |
| static

Referenced by check_bom(), kanji_convert(), and print_guessed_code().

static nkf_char w_iconv32 | ( | nkf_char | c2,
|  | nkf_char | c1,
|  | ARG_UNUSED nkf_char | c0
| ) |  |
| static

Definition at line 2467 of file nkf.c.

static nkf_char w_iconv_combine | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3,
|  | nkf_char | c4,
|  | nkf_char | c5,
|  | nkf_char | c6
| ) |  |
| static

Definition at line 2381 of file nkf.c.

References nkf_utf8_to_unicode(), and unicode_iconv_combine().

Referenced by h_conv(), and kanji_convert().

static nkf_char w_iconv_nocombine | ( | nkf_char | c1,
|  | nkf_char | c2,
|  | nkf_char | c3
| ) |  |
| static

Definition at line 2309 of file nkf.c.

References ret, and w2e_conv().

Referenced by h_conv(), and kanji_convert().

static void w_oconv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 2799 of file nkf.c.

References e2w_combining(), e2w_conv(), EOF, FALSE, nkf_char_unicode_p, output_bom_f, OUTPUT_UTF8, val, and VALUE_MASK.

static void w_oconv16 | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 2862 of file nkf.c.

References e2w_combining(), e2w_conv(), EOF, FALSE, nkf_char_unicode_p, output_bom_f, OUTPUT_UTF16, OUTPUT_UTF16_BYTES, and val.

static void w_oconv32 | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 2904 of file nkf.c.

References e2w_combining(), e2w_conv(), ENDIAN_LITTLE, EOF, FALSE, ISO_8859_1, nkf_char_unicode_p, output_bom_f, output_endian, OUTPUT_UTF32, val, and VALUE_MASK.

static void w_status | ( | struct input_code * | ptr,
|  | nkf_char | c
| ) |  |
| static

Definition at line 3202 of file nkf.c.

References input_code::buf, code_score(), DEL, input_code::index, nkf_char_unicode_p, input_code::stat, status_check(), status_clear(), status_disable(), status_push_ch(), and w2e_conv().

static nkf_char x0212_shift | ( | nkf_char | c | ) |
| static

Definition at line 1539 of file nkf.c.

References c, is_eucg3, and ret.

Referenced by e2s_conv().

static nkf_char x0212_unshift | ( | nkf_char | c | ) |
| static

Definition at line 1557 of file nkf.c.

References c, PREFIX_EUCG3, and ret.

Referenced by s2e_conv().

static int x0213_combining_p | ( | nkf_char | wc | ) |
| static

Definition at line 2220 of file nkf.c.

References FALSE, i, TRUE, and x0213_combining_chars.

Referenced by unicode_iconv_combine().

static int x0213_wait_combining_p | ( | nkf_char | wc | ) |
| static

Definition at line 2208 of file nkf.c.

References FALSE, i, TRUE, and x0213_combining_table.

Referenced by unicode_iconv(), and w_iconv().

static void z_conv | ( | nkf_char | c2,
|  | nkf_char | c1
| ) |  |
| static

Definition at line 3982 of file nkf.c.

References alpha_f, c, cv, dv, EOF, ev, ev_x0213, fv, JIS_X_0201_1976_K, nkf_char_unicode_p, SP, VALUE_MASK, x0201_f, x0213_f, and z_prev1.

Referenced by module_connection().

## Variable Documentation

const char* alias

Definition at line 1151 of file nkf.c.

Referenced by Init_psych_emitter(), ole_type_src_type(), options(), parse(), switch(), and yaml_emitter_analyze_anchor().

int alpha_f = FALSE
| static

Definition at line 396 of file nkf.c.

Referenced by module_connection(), options(), reinit(), and z_conv().

unsigned char ascii_intro = DEFAULT_R
| static

Definition at line 500 of file nkf.c.

Referenced by options(), and reinit().

int backup_f = FALSE
| static

Definition at line 673 of file nkf.c.

Referenced by main(), and options().

char* backup_suffix = ""
| static

Definition at line 674 of file nkf.c.

Referenced by main(), and options().

int base64_count = 0
| static

Definition at line 487 of file nkf.c.

Referenced by close_mime(), eof_mime(), mime_prechar(), mime_putc(), mimeout_addchar(), open_mime(), and reinit().

const char basis_64[]
| static

Initial value:
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

Definition at line 5035 of file nkf.c.

int binmode_f = TRUE
| static

Definition at line 393 of file nkf.c.

Referenced by main(), options(), and reinit().

int broken_f = FALSE
| static

Definition at line 400 of file nkf.c.

Referenced by kanji_convert(), module_connection(), options(), and reinit().

char * buf

Initial value:
{
struct cbsubst_info *inf
inf
struct invoke_info inf
Definition: tcltklib.c:8574

Definition at line 4308 of file nkf.c.

Referenced by append_fspath(), BigDecimal_to_f(), BigMath_s_log(), BSD_vfprintf(), bsock_getsockopt(), cmdglob(), cont_restore_1(), convert_UTF8_to_JSON(), convert_UTF8_to_JSON_ASCII(), date_strftime_internal(), dln_find_exe_r(), dln_load(), enum_sort_by(), expand_case_fold_string_alt(), finish_writeconv(), flo_to_s(), glob_helper(), glob_make_pattern(), global_id(), gzfile_getc(), gzfile_make_footer(), gzfile_make_header(), inspect1(), inspect2(), join_path(), json_string_unescape(), local_tbl_gen(), localtime_with_gmtoff_zone(), match_at(), nfc_getc(), nkf_buf_new(), nkf_locale_charmap(), nl_langinfo_codeset(), node_str_cat_codepoint(), nogvl_copy_stream_read_write(), numchar_getc(), ole_cp2encoding(), ole_raise(), onig_node_free(), onig_node_str_cat(), onig_node_str_clear(), onigenc_mb2_code_to_mbc(), onigenc_mb4_code_to_mbc(), ossl_asn1obj_get_oid(), ossl_asn1prim_to_der(), ossl_bn_to_s(), ossl_hmac_digest(), ossl_hmac_hexdigest(), ossl_hmac_s_digest(), ossl_hmac_s_hexdigest(), ossl_make_error(), ossl_membio2str0(), ossl_pkcs7_add_data(), ossl_spki_print(), ossl_ssl_session_to_pem(), ossl_ssl_session_to_text(), ossl_sslctx_initialize(), ossl_x509crl_get_signature_algorithm(), ossl_x509crl_to_der(), ossl_x509crl_to_pem(), ossl_x509crl_to_text(), ossl_x509name_to_s_old(), ossl_x509req_get_signature_algorithm(), ossl_x509req_to_pem(), ossl_x509req_to_text(), overlapped_socket_io(), pack_pack(), pack_unpack(), parse_comp(), parse_ddd_cb(), parser_yyerror(), raise_from_check(), raise_zlib_error(), rand_init(), random_seed(), rb_cstr_to_dbl(), rb_econv_insert_output(), rb_f_global_variables(), rb_feature_p(), rb_file_expand_path_internal(), rb_fix2str(), rb_home_dir(), rb_num2long(), rb_num2ulong(), rb_parser_dump_tree(), rb_read_internal(), rb_reg_check_preprocess(), rb_reg_preprocess(), rb_reg_preprocess_dregexp(), rb_str_buf_cat_ascii(), rb_str_buf_cat_escaped_char(), rb_str_concat(), rb_str_format(), rb_str_inspect(), rb_str_slice_bang(), rb_sys_warning(), rb_write_internal(), rb_write_internal2(), reg_enum_key(), replace_to_long_name(), report_bug(), ruby__sfvwrite(), ruby_brace_expand(), ruby_getcwd(), ruby_glob0(), ruby_setenv(), s3e(), str_transcode0(), strftimev(), strio_ungetbyte(), strio_ungetc(), strscan_inspect(), swallow(), switch(), tcl_protect_core(), time_mdump(), time_mload(), time_strftime(), tr_setup_table(), tr_trans(), update_string_node_case_fold(), VpAlloc(), vtable_tblcpy(), w_long(), w_nbyte(), and warn_printf().

int cap_f = FALSE
| static

Definition at line 413 of file nkf.c.

Referenced by module_connection(), options(), and reinit().

int count

Definition at line 5041 of file nkf.c.

int cp51932_f = FALSE
| static

Definition at line 459 of file nkf.c.

Referenced by e_iconv(), options(), reinit(), and set_input_encoding().

int cp932inv_f = TRUE
| static

Definition at line 462 of file nkf.c.

Referenced by e_oconv(), options(), reinit(), s2e_conv(), s_oconv(), set_input_encoding(), set_output_encoding(), and unicode_to_jis_common().

const unsigned char cv[]
| static

Initial value:
= {
0x21,0x21,0x21,0x23,0x21,0x56,0x21,0x57,
0x21,0x22,0x21,0x26,0x25,0x72,0x25,0x21,
0x25,0x23,0x25,0x25,0x25,0x27,0x25,0x29,
0x25,0x63,0x25,0x65,0x25,0x67,0x25,0x43,
0x21,0x3c,0x25,0x22,0x25,0x24,0x25,0x26,
0x25,0x28,0x25,0x2a,0x25,0x2b,0x25,0x2d,
0x25,0x2f,0x25,0x31,0x25,0x33,0x25,0x35,
0x25,0x37,0x25,0x39,0x25,0x3b,0x25,0x3d,
0x25,0x3f,0x25,0x41,0x25,0x44,0x25,0x46,
0x25,0x48,0x25,0x4a,0x25,0x4b,0x25,0x4c,
0x25,0x4d,0x25,0x4e,0x25,0x4f,0x25,0x52,
0x25,0x55,0x25,0x58,0x25,0x5b,0x25,0x5e,
0x25,0x5f,0x25,0x60,0x25,0x61,0x25,0x62,
0x25,0x64,0x25,0x66,0x25,0x68,0x25,0x69,
0x25,0x6a,0x25,0x6b,0x25,0x6c,0x25,0x6d,
0x25,0x6f,0x25,0x73,0x21,0x2b,0x21,0x2c,
0x00,0x00}

Definition at line 564 of file nkf.c.

Referenced by BigDecimal_add2(), BigDecimal_div2(), BigDecimal_mult2(), BigDecimal_sub2(), and z_conv().

int debug_f = FALSE
| static

Definition at line 445 of file nkf.c.

Referenced by debug(), main(), options(), and reinit().

const unsigned char dv[]
| static

Initial value:
= {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x25,0x74,
0x00,0x00,0x00,0x00,0x25,0x2c,0x25,0x2e,
0x25,0x30,0x25,0x32,0x25,0x34,0x25,0x36,
0x25,0x38,0x25,0x3a,0x25,0x3c,0x25,0x3e,
0x25,0x40,0x25,0x42,0x25,0x45,0x25,0x47,
0x25,0x49,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x25,0x50,0x25,0x53,
0x25,0x56,0x25,0x59,0x25,0x5c,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00}

Definition at line 586 of file nkf.c.

Referenced by z_conv().

void(* encode_fallback)(nkf_char c) = NULL
| static

Definition at line 361 of file nkf.c.

Referenced by e_oconv(), j_oconv(), options(), reinit(), and s_oconv().

struct { ... } encoding_name_to_id_table[]

Referenced by nkf_enc_find_index().

int eolmode_f = 0
| static

Definition at line 677 of file nkf.c.

Referenced by eol_conv(), module_connection(), oconv_newline(), options(), put_newline(), and reinit().

int estab_f = FALSE
| static

Definition at line 391 of file nkf.c.

Referenced by code_status(), h_conv(), kanji_convert(), reinit(), set_iconv(), and status_check().

const unsigned char ev[]
| static

Initial value:
= {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x25,0x51,0x25,0x54,
0x25,0x57,0x25,0x5a,0x25,0x5d,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00}

Definition at line 607 of file nkf.c.

Referenced by EVENTSINK_Invoke(), and z_conv().

const unsigned char ev_x0213[]
| static

Initial value:
= {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x25,0x77,0x25,0x78,
0x25,0x79,0x25,0x7a,0x25,0x7b,0x00,0x00,
0x00,0x00,0x00,0x00,0x25,0x7c,0x00,0x00,
0x00,0x00,0x00,0x00,0x25,0x7d,0x00,0x00,
0x25,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00}

Definition at line 628 of file nkf.c.

Referenced by z_conv().

int f_line = 0
| static

Definition at line 492 of file nkf.c.

Referenced by fold_conv(), module_connection(), and reinit().

int f_prev = 0
| static

Definition at line 493 of file nkf.c.

Referenced by fold_conv(), and reinit().

int file_out_f = FALSE
| static

Definition at line 669 of file nkf.c.

Referenced by main(), options(), and reinit().

int fold_f = FALSE
| static

Definition at line 495 of file nkf.c.

Referenced by module_connection(), options(), and reinit().

int fold_len = 0
| static

Definition at line 496 of file nkf.c.

Referenced by fold_conv(), options(), and reinit().

int fold_margin = FOLD_MARGIN
| static

Definition at line 507 of file nkf.c.

Referenced by fold_conv(), options(), and reinit().

int fold_preserve_f = FALSE
| static

Definition at line 494 of file nkf.c.

Referenced by fold_conv(), options(), and reinit().

const unsigned char fv[]
| static

Initial value:
= {
0x00,0x00,0x00,0x00,0x2c,0x2e,0x00,0x3a,
0x3b,0x3f,0x21,0x00,0x00,0x27,0x60,0x00,
0x5e,0x00,0x5f,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x2d,0x00,0x2f,
0x5c,0x00,0x00,0x7c,0x00,0x00,0x60,0x27,
0x22,0x22,0x28,0x29,0x00,0x00,0x5b,0x5d,
0x7b,0x7d,0x3c,0x3e,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x2b,0x2d,0x00,0x00,
0x00,0x3d,0x00,0x3c,0x3e,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x24,0x00,0x00,0x25,0x23,0x26,0x2a,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
}

Definition at line 650 of file nkf.c.

Referenced by z_conv().

int guess_f = 0
| static

Definition at line 450 of file nkf.c.

Referenced by eol_conv(), main(), module_connection(), options(), print_guessed_code(), rb_nkf_guess(), and reinit().

int hira_f = FALSE
| static

Definition at line 395 of file nkf.c.

Referenced by hira_conv(), module_connection(), options(), and reinit().

nkf_char hold_buf[HOLD_SIZE *2]
| static

Definition at line 3355 of file nkf.c.

int hold_count = 0
| static

Definition at line 3356 of file nkf.c.

nkf_char(* i_bgetc)(FILE *) = std_getc
| static

Definition at line 543 of file nkf.c.

Referenced by module_connection(), and reinit().

nkf_char(* i_bungetc)(nkf_char c,FILE *f) = std_ungetc
| static

Definition at line 544 of file nkf.c.

Referenced by module_connection(), and reinit().

nkf_char(* i_cgetc)(FILE *) = std_getc
| static

Definition at line 414 of file nkf.c.

Referenced by cap_getc(), and module_connection().

nkf_char(* i_cungetc)(nkf_char c,FILE *f) = std_ungetc
| static

Definition at line 415 of file nkf.c.

Referenced by cap_getc(), cap_ungetc(), and module_connection().

nkf_char(* i_getc)(FILE *f) = std_getc
| static

Definition at line 540 of file nkf.c.

Referenced by check_bom(), h_conv(), kanji_convert(), mime_begin_strict(), mime_getc(), mime_integrity(), module_connection(), noconvert(), reinit(), switch_mime_getc(), and unswitch_mime_getc().

nkf_char(* i_mgetc)(FILE *) = std_getc
| static

Definition at line 548 of file nkf.c.

Referenced by mime_getc(), module_connection(), reinit(), switch_mime_getc(), and unswitch_mime_getc().

nkf_char(* i_mgetc_buf)(FILE *) = std_getc
| static

Definition at line 552 of file nkf.c.

Referenced by mime_getc_buf(), reinit(), switch_mime_getc(), and unswitch_mime_getc().

nkf_char(* i_mungetc)(nkf_char c,FILE *f) = std_ungetc
| static

Definition at line 549 of file nkf.c.

Referenced by module_connection(), reinit(), switch_mime_getc(), and unswitch_mime_getc().

nkf_char(* i_mungetc_buf)(nkf_char c, FILE *f) = std_ungetc
| static

Definition at line 553 of file nkf.c.

Referenced by reinit(), switch_mime_getc(), and unswitch_mime_getc().

nkf_char(* i_nfc_getc)(FILE *) = std_getc
| static

Definition at line 408 of file nkf.c.

Referenced by module_connection(), and nfc_getc().

nkf_char(* i_nfc_ungetc)(nkf_char c,FILE *f) = std_ungetc
| static

Definition at line 409 of file nkf.c.

Referenced by module_connection(), nfc_getc(), and nfc_ungetc().

nkf_char(* i_ngetc)(FILE *) = std_getc
| static

Definition at line 438 of file nkf.c.

Referenced by module_connection(), and numchar_getc().

nkf_char(* i_nungetc)(nkf_char c,FILE *f) = std_ungetc
| static

Definition at line 439 of file nkf.c.

Referenced by module_connection(), numchar_getc(), and numchar_ungetc().

nkf_char(* i_ugetc)(FILE *) = std_getc
| static

Definition at line 418 of file nkf.c.

Referenced by module_connection(), and url_getc().

nkf_char(* i_ungetc)(nkf_char c, FILE *f) =std_ungetc
| static

Definition at line 541 of file nkf.c.

Referenced by check_bom(), h_conv(), kanji_convert(), mime_getc(), module_connection(), reinit(), switch_mime_getc(), and unswitch_mime_getc().

nkf_char(* i_uungetc)(nkf_char c,FILE *f) = std_ungetc
| static

Definition at line 419 of file nkf.c.

Referenced by module_connection(), url_getc(), and url_ungetc().

nkf_char(* iconv)(nkf_char c2, nkf_char c1, nkf_char c0) = no_connection2
| static

Definition at line 525 of file nkf.c.

Referenced by check_bom(), get_guessed_code(), h_conv(), kanji_convert(), mime_begin_strict(), print_guessed_code(), set_iconv(), and status_disable().

nkf_char(* iconv_for_check)(nkf_char c2, nkf_char c1, nkf_char c0)=0
| static

Definition at line 447 of file nkf.c.

Referenced by main(), reinit(), and set_iconv().

ID id

Definition at line 209 of file nkf.c.

Referenced by addrinfo_mdump(), autoload_delete(), check_exec_redirect(), check_rounding_mode(), entry_repeat_range(), etc_getgrgid(), etc_getpwuid(), exception_type2symbol(), flatten(), fole_missing(), get_event_id(), global_id(), inspect_struct(), intern_str(), iseq_insns_unification(), make_localjump_error(), make_struct(), mnew(), obj_respond_to(), ole_const_load(), p_gid_change_privilege(), p_gid_grant_privilege(), p_uid_change_privilege(), p_uid_grant_privilege(), r_id(), r_object0(), r_symlink(), r_symreal(), rb_autoload_load(), rb_check_id(), rb_check_id_cstr(), rb_const_remove(), rb_cvar_get(), rb_cvar_set(), rb_define_class(), rb_define_module(), rb_enc_symname_type(), rb_execarg_addopt(), rb_f_untrace_var(), rb_global_entry(), rb_id_attrset(), rb_intern_str(), rb_method_entry_get_without_cache(), rb_mod_const_defined(), rb_mod_const_get(), rb_mod_define_method(), rb_mod_init_copy(), rb_mod_modfunc(), rb_mod_remove_cvar(), rb_obj_remove_instance_variable(), rb_path_to_class(), rb_str_intern(), rb_struct_s_def(), register_symid_str(), ripper_init_eventids1_table(), ripper_init_eventids2_table(), rsock_ipaddr(), rsock_revlookup_flag(), ruby_debug_print_id(), s3e(), send_internal(), set_const_visibility(), switch(), sym_to_proc(), symbol2event_flag(), vm_call0(), vm_call_super(), vm_define_method(), and vtable_add().

unsigned int input

Definition at line 4311 of file nkf.c.

Referenced by econv_primitive_convert(), gzfile_error_inspect(), rb_nkf_convert(), rb_nkf_guess(), readline_s_set_input(), and yaml_parser_set_input_string().

int input_bom_f = FALSE
| static

Definition at line 359 of file nkf.c.

Referenced by check_bom(), and print_guessed_code().

struct input_code input_code_list[]

Initial value:
= {
{"EUC-JP", 0, 0, 0, {0, 0, 0}, e_status, e_iconv, 0},
{"Shift_JIS", 0, 0, 0, {0, 0, 0}, s_status, s_iconv, 0},
{"UTF-8", 0, 0, 0, {0, 0, 0}, w_status, w_iconv, 0},
{"UTF-16", 0, 0, 0, {0, 0, 0}, NULL, w_iconv16, 0},
{"UTF-32", 0, 0, 0, {0, 0, 0}, NULL, w_iconv32, 0},
{NULL, 0, 0, 0, {0, 0, 0}, NULL, NULL, 0}
}
s_status
static void s_status(struct input_code *, nkf_char)
Definition: nkf.c:3083
w_iconv16
static nkf_char w_iconv16(nkf_char c2, nkf_char c1, nkf_char c0)
w_iconv32
static nkf_char w_iconv32(nkf_char c2, nkf_char c1, nkf_char c0)
s_iconv
static nkf_char s_iconv(nkf_char c2, nkf_char c1, nkf_char c0)
w_iconv
static nkf_char w_iconv(nkf_char c2, nkf_char c1, nkf_char c0)
Definition: nkf.c:2232
e_iconv
static nkf_char e_iconv(nkf_char c2, nkf_char c1, nkf_char c0)
Definition: nkf.c:2120
w_status
static void w_status(struct input_code *, nkf_char)
Definition: nkf.c:3202
e_status
static void e_status(struct input_code *, nkf_char)
Definition: nkf.c:3156
NULL
#define NULL
Definition: _sdbm.c:103

Definition at line 475 of file nkf.c.

Referenced by code_status(), find_inputcode_byfunc(), h_conv(), kanji_convert(), module_connection(), and reinit().

const char* input_codename = NULL
| static

Definition at line 336 of file nkf.c.

Referenced by get_guessed_code(), kanji_convert(), main(), print_guessed_code(), reinit(), and set_input_codename().

nkf_encoding* input_encoding = NULL
| static

Definition at line 337 of file nkf.c.

int input_endian = ENDIAN_BIG
| static

Definition at line 358 of file nkf.c.

Referenced by check_bom(), nkf_iconv_utf_16(), nkf_iconv_utf_16_combine(), nkf_iconv_utf_16_nocombine(), options(), print_guessed_code(), reinit(), set_input_encoding(), and utf32_to_nkf_char().

int input_eol = 0
| static

Definition at line 678 of file nkf.c.

Referenced by eol_conv(), main(), print_guessed_code(), and reinit().

int input_mode = ASCII
| static

Definition at line 557 of file nkf.c.

Referenced by broken_getc(), kanji_convert(), mime_getc(), and reinit().

int iso2022jp_f = FALSE
| static

Definition at line 404 of file nkf.c.

Referenced by e_iconv(), module_connection(), options(), reinit(), and s_iconv().

int iso8859_f = FALSE
| static

Definition at line 401 of file nkf.c.

Referenced by kanji_convert(), options(), reinit(), and set_input_encoding().

unsigned char kanji_intro = DEFAULT_J
| static

Definition at line 499 of file nkf.c.

Referenced by options(), output_escape_sequence(), and reinit().

unsigned int last

Definition at line 4310 of file nkf.c.

Referenced by appendline(), c_valid_gregorian_p(), c_valid_julian_p(), chompdirsep(), cmdglob(), free_unused_heaps(), intern_str(), list_append_gen(), list_concat_gen(), rb_enc_path_last_separator(), rb_scan_args(), rb_str_scan(), rmext(), ruby_enc_find_extname(), sip_hash24(), st_cleanup_safe(), st_foreach(), st_foreach_check(), st_update(), str_gsub(), and tr_trans().

struct { ... } long_option[]

Referenced by options().

int mime_decode_f = FALSE
| static

Definition at line 398 of file nkf.c.

Referenced by kanji_convert(), options(), and reinit().

int mime_decode_mode = FALSE
| static

Definition at line 558 of file nkf.c.

Referenced by kanji_convert(), mime_begin(), mime_begin_strict(), mime_getc(), mime_integrity(), options(), and reinit().

const nkf_char mime_encode[]
| static

Initial value:
= {
EUC_JP, SHIFT_JIS, ISO_8859_1, ISO_8859_1, JIS_X_0208, JIS_X_0201_1976_K, JIS_X_0201_1976_K,
UTF_8, UTF_8,
ASCII,
0
}
SHIFT_JIS
Definition: nkf.c:96
JIS_X_0208
Definition: nkf.c:128
ASCII
Definition: nkf.c:87
JIS_X_0201_1976_K
Definition: nkf.c:124
EUC_JP
Definition: nkf.c:99
UTF_8
Definition: nkf.c:108
ISO_8859_1
Definition: nkf.c:88

Definition at line 4283 of file nkf.c.

const nkf_char mime_encode_method[]
| static

Initial value:
= {
'B', 'B','Q', 'B', 'B', 'B', 'Q',
'B', 'Q',
'Q',
0
}

Definition at line 4292 of file nkf.c.

int mime_f = MIME_DECODE_DEFAULT
| static

Definition at line 397 of file nkf.c.

Referenced by kanji_convert(), main(), mime_getc(), module_connection(), options(), reinit(), switch_mime_getc(), and unswitch_mime_getc().

nkf_char(* mime_iconv_back)(nkf_char c2, nkf_char c1, nkf_char c0) = NULL
| static

Definition at line 4313 of file nkf.c.

Referenced by mime_begin_strict(), and unswitch_mime_getc().

struct { ... } mime_input_state

Referenced by mime_begin(), mime_getc(), mime_getc_buf(), mime_input_buf_unshift(), mime_integrity(), and mime_ungetc_buf().

const unsigned char* mime_pattern[]
| static

Initial value:
= {
(const unsigned char *)"\075?EUC-JP?B?",
(const unsigned char *)"\075?SHIFT_JIS?B?",
(const unsigned char *)"\075?ISO-8859-1?Q?",
(const unsigned char *)"\075?ISO-8859-1?B?",
(const unsigned char *)"\075?ISO-2022-JP?B?",
(const unsigned char *)"\075?ISO-2022-JP?B?",
(const unsigned char *)"\075?ISO-2022-JP?Q?",
(const unsigned char *)"\075?UTF-8?B?",
(const unsigned char *)"\075?UTF-8?Q?",
(const unsigned char *)"\075?US-ASCII?Q?",
NULL
}
NULL
#define NULL
Definition: _sdbm.c:103

Definition at line 4257 of file nkf.c.

nkf_char(* mime_priority_func[])(nkf_char c2, nkf_char c1, nkf_char c0)

Initial value:
= {
e_iconv, s_iconv, 0, 0, 0, 0, 0,
w_iconv, w_iconv,
0,
}
s_iconv
static nkf_char s_iconv(nkf_char c2, nkf_char c1, nkf_char c0)
w_iconv
static nkf_char w_iconv(nkf_char c2, nkf_char c1, nkf_char c0)
Definition: nkf.c:2232
e_iconv
static nkf_char e_iconv(nkf_char c2, nkf_char c1, nkf_char c0)
Definition: nkf.c:2120

Definition at line 4275 of file nkf.c.

Referenced by mime_begin_strict().

int mimebuf_f = FALSE
| static

Definition at line 399 of file nkf.c.

Referenced by mime_begin_strict(), mime_getc(), mime_getc_buf(), mime_ungetc_buf(), module_connection(), options(), and reinit().

int mimeout_f = FALSE
| static

Definition at line 402 of file nkf.c.

Referenced by eof_mime(), mime_putc(), module_connection(), options(), rb_nkf_convert(), and reinit().

int mimeout_mode = 0
| static

Definition at line 486 of file nkf.c.

Referenced by close_mime(), eof_mime(), mime_prechar(), mime_putc(), mimeout_addchar(), open_mime(), options(), and reinit().

struct { ... } mimeout_state

Referenced by mime_prechar(), mime_putc(), open_mime(), and reinit().

int ms_ucs_map_f = UCS_MAP_ASCII
| static

Definition at line 351 of file nkf.c.

Referenced by e2w_conv(), e_iconv(), j_oconv(), kanji_convert(), options(), reinit(), set_input_encoding(), set_output_encoding(), and unicode_to_jis_common().

volatile VALUE name = Qnil

Definition at line 208 of file nkf.c.

Referenced by addrinfo_inspect(), code_page(), constant_to_sym(), cto_i(), curses_keyname(), date_zone_to_diff(), enc_register_at(), env_aset(), fetch_token(), file_path_convert(), fole_s_show_help(), folemethod_event_interface(), foletypelib_name(), foletypelib_s_typelibs(), get_device_once(), get_syserr(), GetDigestPtr(), GetX509NamePtr(), glob_helper(), host_str(), if(), Init_curses(), init_env(), Init_ossl_asn1(), Init_ossl_ssl(), intern_str(), iseq_load(), iseq_location_setup(), location_to_str(), match_backref_number(), match_inspect(), match_inspect_name_iter(), name_add(), name_err_initialize(), node_new_call(), oldbt_iter_cfunc(), oldbt_iter_iseq(), ole_method_event(), options(), ossl_cipher_initialize(), ossl_pkcs12_s_create(), ossl_pkcs7_sym2typeid(), ossl_sslctx_set_ssl_version(), ossl_x509_get_issuer(), ossl_x509_get_subject(), ossl_x509name_add_entry(), ossl_x509name_alloc(), ossl_x509name_hash(), ossl_x509name_initialize(), ossl_x509name_to_a(), ossl_x509name_to_der(), ossl_x509name_to_s(), ossl_x509name_to_s_old(), ossl_x509req_get_subject(), parse_enclose(), rb_attr(), rb_builtin_type_name(), rb_check_argv(), rb_check_id(), rb_class2name(), rb_dlcfunc_call(), rb_dlcfunc_initialize(), rb_enc_symname_type(), rb_file_dirname(), rb_file_join(), rb_file_s_basename(), rb_file_s_extname(), rb_iseq_disasm(), rb_mod_const_defined(), rb_mod_const_get(), rb_reg_regsub(), rb_stat_inspect(), rb_struct_define_without_accessor(), rb_struct_s_def(), rb_vm_bugreport(), rb_w32_pipe(), reg_named_capture_assign_iter(), register_init_ext(), rsock_intern_family(), rsock_intern_family_noprefix(), rsock_intern_ip_optname(), rsock_intern_iplevel(), rsock_intern_ipproto(), rsock_intern_ipv6_optname(), rsock_intern_local_optname(), rsock_intern_protocol_family(), rsock_intern_scm_optname(), rsock_intern_so_optname(), rsock_intern_socktype(), rsock_intern_tcp_optname(), rsock_intern_udp_optname(), ruby_enc_find_basename(), ruby_enc_find_extname(), set_encoding_const(), shadowing_lvar_gen(), sig_trap(), start_document(), w_encoding(), and yaml_parser_scan_directive().

int nfc_f = FALSE
| static

Definition at line 407 of file nkf.c.

Referenced by module_connection(), options(), reinit(), and set_input_encoding().

nkf_encoding nkf_encoding_table[]

Definition at line 167 of file nkf.c.

nkf_state_t* nkf_state = NULL
| static

Definition at line 3306 of file nkf.c.

nkf_native_encoding NkfEncodingASCII = { "ASCII", e_iconv, e_oconv }

Definition at line 153 of file nkf.c.

nkf_native_encoding NkfEncodingEUC_JP = { "EUC-JP", e_iconv, e_oconv }

Definition at line 156 of file nkf.c.

nkf_native_encoding NkfEncodingISO_2022_JP = { "ISO-2022-JP", e_iconv, j_oconv }

Definition at line 154 of file nkf.c.

nkf_native_encoding NkfEncodingShift_JIS = { "Shift_JIS", s_iconv, s_oconv }

Definition at line 155 of file nkf.c.

nkf_native_encoding NkfEncodingUTF_16 = { "UTF-16", w_iconv16, w_oconv16 }

Definition at line 158 of file nkf.c.

nkf_native_encoding NkfEncodingUTF_32 = { "UTF-32", w_iconv32, w_oconv32 }

Definition at line 159 of file nkf.c.

nkf_native_encoding NkfEncodingUTF_8 = { "UTF-8", w_iconv, w_oconv }

Definition at line 157 of file nkf.c.

int no_best_fit_chars_f = FALSE
| static

Definition at line 357 of file nkf.c.

Referenced by options(), reinit(), and unicode_to_jis_common().

int no_cp932ext_f = FALSE
| static

Definition at line 355 of file nkf.c.

Referenced by options(), reinit(), and unicode_to_jis_common2().

int noout_f = FALSE
| static

Definition at line 443 of file nkf.c.

Referenced by module_connection(), options(), and reinit().

int nop_f = FALSE
| static

Definition at line 392 of file nkf.c.

Referenced by main(), noconvert(), options(), and reinit().

int numchar_f = FALSE
| static

Definition at line 437 of file nkf.c.

Referenced by module_connection(), options(), and reinit().

void(* o_base64conv)(nkf_char c2, nkf_char c1) = no_connection
| static

Definition at line 533 of file nkf.c.

Referenced by mime_prechar(), module_connection(), and reinit().

void(* o_eol_conv)(nkf_char c2, nkf_char c1) = no_connection
| static

Definition at line 530 of file nkf.c.

Referenced by module_connection(), and reinit().

void(* o_fconv)(nkf_char c2, nkf_char c1) = no_connection
| static

Definition at line 529 of file nkf.c.

Referenced by fold_conv(), module_connection(), and reinit().

void(* o_hira_conv)(nkf_char c2, nkf_char c1) = no_connection
| static

Definition at line 532 of file nkf.c.

Referenced by module_connection(), and reinit().

void(* o_iso2022jp_check_conv)(nkf_char c2, nkf_char c1) = no_connection
| static

Definition at line 534 of file nkf.c.

Referenced by module_connection(), and reinit().

void(* o_mputc)(nkf_char c) = std_putc
| static

Definition at line 546 of file nkf.c.

Referenced by mime_putc(), module_connection(), open_mime(), and reinit().

void(* o_putc)(nkf_char c) = std_putc
| static

Definition at line 538 of file nkf.c.

Referenced by module_connection(), and reinit().

void(* o_rot_conv)(nkf_char c2, nkf_char c1) = no_connection
| static

Definition at line 531 of file nkf.c.

Referenced by module_connection(), and reinit().

void(* o_zconv)(nkf_char c2, nkf_char c1) = no_connection
| static

Definition at line 528 of file nkf.c.

Referenced by module_connection(), and reinit().

void(* oconv)(nkf_char c2, nkf_char c1) = no_connection
| static

Definition at line 526 of file nkf.c.

Referenced by module_connection().

int option_mode = 0
| static

Definition at line 668 of file nkf.c.

Referenced by options(), and reinit().

int output_bom_f = FALSE
| static

Definition at line 365 of file nkf.c.

Referenced by options(), rb_nkf_convert(), reinit(), set_output_encoding(), w_oconv(), w_oconv16(), and w_oconv32().

nkf_encoding* output_encoding = NULL
| static

Definition at line 338 of file nkf.c.

Referenced by rb_nkf_convert().

int output_endian = ENDIAN_BIG
| static

Definition at line 366 of file nkf.c.

Referenced by options(), reinit(), set_output_encoding(), and w_oconv32().

int output_mode = ASCII
| static

Definition at line 556 of file nkf.c.

Referenced by e_oconv(), kanji_convert(), mime_prechar(), mime_putc(), module_connection(), output_escape_sequence(), reinit(), and s_oconv().

int overwrite_f = FALSE
| static

Definition at line 671 of file nkf.c.

Referenced by main(), and options().

unsigned char prefix_table[256]
| static

Definition at line 470 of file nkf.c.

Referenced by options(), reinit(), and s_oconv().

int preserve_time_f = FALSE
| static

Definition at line 672 of file nkf.c.

Referenced by main(), and options().

nkf_char prev_cr = 0
| static

Definition at line 679 of file nkf.c.

Referenced by eol_conv(), and reinit().

int rot_f = FALSE
| static

Definition at line 394 of file nkf.c.

Referenced by module_connection(), options(), and reinit().

const nkf_char score_table_8FA0[]
| static

Initial value:
= {
0, SCORE_X0213, SCORE_X0212, SCORE_X0213,
SCORE_X0213, SCORE_X0213, SCORE_X0212, SCORE_X0212,
SCORE_X0213, SCORE_X0212, SCORE_X0212, SCORE_X0212,
SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213,
}
SCORE_X0213
#define SCORE_X0213
Definition: nkf.c:2948
SCORE_X0212
#define SCORE_X0212
Definition: nkf.c:2947

Definition at line 2969 of file nkf.c.

const nkf_char score_table_8FE0[]
| static

Initial value:
= {
SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212,
SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212,
SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212,
SCORE_X0212, SCORE_X0212, SCORE_X0213, SCORE_X0213,
}
SCORE_X0213
#define SCORE_X0213
Definition: nkf.c:2948
SCORE_X0212
#define SCORE_X0212
Definition: nkf.c:2947

Definition at line 2976 of file nkf.c.

const nkf_char score_table_8FF0[]
| static

Initial value:
= {
SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0212,
SCORE_X0212, SCORE_X0213, SCORE_X0213, SCORE_X0213,
SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213,
SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213,
}
SCORE_X0213
#define SCORE_X0213
Definition: nkf.c:2948
SCORE_X0212
#define SCORE_X0212
Definition: nkf.c:2947

Definition at line 2983 of file nkf.c.

const nkf_char score_table_A0[]
| static

Initial value:
= {
0, 0, 0, 0,
0, 0, 0, 0,
0, SCORE_DEPEND, SCORE_DEPEND, SCORE_DEPEND,
SCORE_DEPEND, SCORE_DEPEND, SCORE_DEPEND, SCORE_X0213,
}
SCORE_DEPEND
#define SCORE_DEPEND
Definition: nkf.c:2945
SCORE_X0213
#define SCORE_X0213
Definition: nkf.c:2948

Definition at line 2955 of file nkf.c.

const nkf_char score_table_F0[]
| static

Initial value:
= {
SCORE_L2, SCORE_L2, SCORE_L2, SCORE_L2,
SCORE_L2, SCORE_DEPEND, SCORE_X0213, SCORE_X0213,
SCORE_DEPEND, SCORE_DEPEND, SCORE_CP932, SCORE_CP932,
SCORE_CP932, SCORE_X0213, SCORE_X0213, SCORE_ERROR,
}
SCORE_CP932
#define SCORE_CP932
Definition: nkf.c:2946
SCORE_L2
#define SCORE_L2
Definition: nkf.c:2943
SCORE_ERROR
#define SCORE_ERROR
Definition: nkf.c:2951
SCORE_DEPEND
#define SCORE_DEPEND
Definition: nkf.c:2945
SCORE_X0213
#define SCORE_X0213
Definition: nkf.c:2948

Definition at line 2962 of file nkf.c.

unsigned char stdibuf[IOBUF_SIZE]
| static

Definition at line 383 of file nkf.c.

Referenced by main().

unsigned char stdobuf[IOBUF_SIZE]
| static

Definition at line 384 of file nkf.c.

Referenced by main().

unsigned int top

Definition at line 4309 of file nkf.c.

Referenced by backref_match_at_nested_level(), get_addr(), getaddrinfo(), iseq_data_to_ary(), parse_regexp(), rb_ary_shift(), rb_file_dirname(), ruby_qsort(), yaml_document_add_mapping(), yaml_document_add_sequence(), yaml_document_initialize(), yaml_document_start_event_initialize(), yaml_parser_load_mapping(), yaml_parser_load_sequence(), and yaml_parser_process_directives().

int unbuf_f = FALSE
| static

Definition at line 390 of file nkf.c.

Referenced by main(), mime_begin_strict(), options(), and reinit().

nkf_char unicode_subchar = '?'
| static

Definition at line 360 of file nkf.c.

Referenced by encode_fallback_subchar(), options(), and reinit().

int url_f = FALSE
| static

Definition at line 417 of file nkf.c.

Referenced by module_connection(), options(), and reinit().

int x0201_f = NKF_UNSPECIFIED
| static

Definition at line 403 of file nkf.c.

Referenced by e_iconv(), module_connection(), options(), reinit(), s_iconv(), set_input_encoding(), set_output_encoding(), and z_conv().

int x0212_f = FALSE
| static

Definition at line 467 of file nkf.c.

Referenced by e_oconv(), main(), options(), reinit(), set_input_encoding(), and set_output_encoding().

int x0213_f = FALSE
| static

Definition at line 468 of file nkf.c.

Referenced by e2s_conv(), e2w_conv(), e_iconv(), j_oconv(), main(), reinit(), s2e_conv(), s_iconv(), s_oconv(), set_input_encoding(), set_output_encoding(), unicode_iconv(), unicode_to_jis_common(), w16e_conv(), w_iconv(), and z_conv().

nkf_char z_prev1 =0
| static

Definition at line 3979 of file nkf.c.

Referenced by reinit(), and z_conv().

nkf_char z_prev2 =0
| static

Definition at line 3979 of file nkf.c.