gbk.c File Reference
`#include "regenc.h"`

Go to the source code of this file.

## Macros

#define | GBK_ISMB_FIRST(byte) (EncLen_GBK[byte] > 1)
#define | GBK_ISMB_TRAIL(byte) GBK_CAN_BE_TRAIL_TABLE[(byte)]
#define | A ACCEPT
#define | F FAILURE
#define | RETURN(n)

## Enumerations

enum

state_t {
FAILURE = -2, ACCEPT = -1, S0 = 0, S1,
FAILURE = -2, ACCEPT = -1, S0 = 0, S1,
FAILURE = -2, ACCEPT = -1, S0 = 0, S1,
S2, S3, S4, S5,
S6, FAILURE = -2, ACCEPT = -1, S0 = 0,
S1, S2, FAILURE = -2, ACCEPT = -1,
S0 = 0, S1, FAILURE = -2, ACCEPT = -1,
S0 = 0, S1, S2, S3,
FAILURE = -2, ACCEPT = -1, S0 = 0, S1,
S2, S3, FAILURE = -2, ACCEPT = -1,
S0 = 0, S1, FAILURE = -2, ACCEPT = -1,
S0 = 0, S1, FAILURE = -2, ACCEPT,
S0, S1, S2, S3,
S4, S5, S6, S7
}

## Functions

static int | gbk_mbc_enc_len (const UChar *p, const UChar *e, OnigEncoding enc ARG_UNUSED)
static OnigCodePoint | gbk_mbc_to_code (const UChar *p, const UChar *end, OnigEncoding enc)
static int | gbk_code_to_mbc (OnigCodePoint code, UChar *buf, OnigEncoding enc)
static int | gbk_mbc_case_fold (OnigCaseFoldType flag, const UChar **pp, const UChar *end, UChar *lower, OnigEncoding enc)
static int | gbk_is_code_ctype (OnigCodePoint code, unsigned int ctype, OnigEncoding enc)
static UChar * | gbk_left_adjust_char_head (const UChar *start, const UChar *s, const UChar *end, OnigEncoding enc)
static int | gbk_is_allowed_reverse_match (const UChar *s, const UChar *end ARG_UNUSED, OnigEncoding enc ARG_UNUSED)
| OnigEncodingDefine (gbk, GBK)

## Variables

static const int | EncLen_GBK []
static const char | GBK_CAN_BE_TRAIL_TABLE [256]
static const signed char | trans [][0x100]

## Macro Definition Documentation

#define A ACCEPT

Definition at line 74 of file gbk.c.

#define F FAILURE

Definition at line 75 of file gbk.c.

#define GBK_ISMB_FIRST | ( |  | byte | ) | (EncLen_GBK[byte] > 1)

Definition at line 70 of file gbk.c.

Referenced by gbk_left_adjust_char_head().

#define GBK_ISMB_TRAIL | ( |  | byte | ) | GBK_CAN_BE_TRAIL_TABLE[(byte)]

Definition at line 71 of file gbk.c.

Referenced by gbk_is_allowed_reverse_match(), and gbk_left_adjust_char_head().

#define RETURN | ( |  | n | ) |

Value:
return s == ACCEPT ? ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(n) : \
ONIGENC_CONSTRUCT_MBCLEN_INVALID()

## Enumeration Type Documentation

enum state_t

Enumerator
FAILURE |
ACCEPT |
S0 |
S1 |
FAILURE |
ACCEPT |
S0 |
S1 |
FAILURE |
ACCEPT |
S0 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
FAILURE |
ACCEPT |
S0 |
S1 |
S2 |
FAILURE |
ACCEPT |
S0 |
S1 |
FAILURE |
ACCEPT |
S0 |
S1 |
S2 |
S3 |
FAILURE |
ACCEPT |
S0 |
S1 |
S2 |
S3 |
FAILURE |
ACCEPT |
S0 |
S1 |
FAILURE |
ACCEPT |
S0 |
S1 |
FAILURE |
ACCEPT |
S0 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |

Definition at line 73 of file gbk.c.

## Function Documentation

static int gbk_code_to_mbc | ( | OnigCodePoint | code,
|  | UChar * | buf,
|  | OnigEncoding | enc
| ) |  |

static

Definition at line 139 of file gbk.c.

References onigenc_mb2_code_to_mbc().

static int gbk_is_allowed_reverse_match | ( | const UChar * | s,
|  | const UChar *end | ARG_UNUSED,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

static

Definition at line 191 of file gbk.c.

References FALSE, GBK_ISMB_TRAIL, TRUE, and UChar.

static int gbk_is_code_ctype | ( | OnigCodePoint | code,
|  | unsigned int | ctype,
|  | OnigEncoding | enc
| ) |  |

static

Definition at line 162 of file gbk.c.

References onigenc_mb2_is_code_ctype().

static UChar* gbk_left_adjust_char_head | ( | const UChar * | start,
|  | const UChar * | s,
|  | const UChar * | end,
|  | OnigEncoding | enc
| ) |  |

static

Definition at line 168 of file gbk.c.

References enclen, GBK_ISMB_FIRST, GBK_ISMB_TRAIL, len, p, and UChar.

static int gbk_mbc_case_fold | ( | OnigCaseFoldType | flag,
|  | const UChar ** | pp,
|  | const UChar * | end,
|  | UChar * | lower,
|  | OnigEncoding | enc
| ) |  |

static

Definition at line 145 of file gbk.c.

References onigenc_mbn_mbc_case_fold().

static int gbk_mbc_enc_len | ( | const UChar * | p,
|  | const UChar * | e,
|  | OnigEncoding enc | ARG_UNUSED
| ) |  |

static

Definition at line 118 of file gbk.c.

References EncLen_GBK, ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE, RETURN, and trans.

static OnigCodePoint gbk_mbc_to_code | ( | const UChar * | p,
|  | const UChar * | end,
|  | OnigEncoding | enc
| ) |  |

static

Definition at line 133 of file gbk.c.

References onigenc_mbn_mbc_to_code().

OnigEncodingDefine | ( | gbk | ,
|  | GBK |
| ) |  |

## Variable Documentation

const int EncLen_GBK[]

static

Initial value:
= {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1
}

Definition at line 32 of file gbk.c.

Referenced by gbk_mbc_enc_len().

const char GBK_CAN_BE_TRAIL_TABLE[256]

static

Initial value:
= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0
}

Definition at line 51 of file gbk.c.

const signed char trans[][0x100]

static

Definition at line 76 of file gbk.c.

Referenced by gbk_mbc_enc_len().