summaryrefslogtreecommitdiffstats
path: root/Modules/cjkcodecs/_gb2312.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/cjkcodecs/_gb2312.c')
-rw-r--r--Modules/cjkcodecs/_gb2312.c69
1 files changed, 0 insertions, 69 deletions
diff --git a/Modules/cjkcodecs/_gb2312.c b/Modules/cjkcodecs/_gb2312.c
deleted file mode 100644
index 7659860..0000000
--- a/Modules/cjkcodecs/_gb2312.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * _gb2312.c: the GB2312 codec
- *
- * Written by Hye-Shik Chang <perky@FreeBSD.org>
- * $CJKCodecs: _gb2312.c,v 1.2 2003/12/31 05:46:55 perky Exp $
- */
-
-#include "codeccommon.h"
-
-ENCMAP(gbcommon)
-DECMAP(gb2312)
-
-ENCODER(gb2312)
-{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
- DBCHAR code;
-
- if (c < 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
- continue;
- }
- UCS4INVALID(c)
-
- RESERVE_OUTBUF(2)
- TRYMAP_ENC(gbcommon, code, c);
- else return 1;
-
- if (code & 0x8000) /* MSB set: GBK */
- return 1;
-
- OUT1((code >> 8) | 0x80)
- OUT2((code & 0xFF) | 0x80)
- NEXT(1, 2)
- }
-
- return 0;
-}
-
-DECODER(gb2312)
-{
- while (inleft > 0) {
- unsigned char c = **inbuf;
-
- RESERVE_OUTBUF(1)
-
- if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
- continue;
- }
-
- RESERVE_INBUF(2)
- TRYMAP_DEC(gb2312, **outbuf, c ^ 0x80, IN2 ^ 0x80) {
- NEXT(2, 1)
- } else return 2;
- }
-
- return 0;
-}
-
-#include "codecentry.h"
-BEGIN_CODEC_REGISTRY(gb2312)
- MAPOPEN(zh_CN)
- IMPORTMAP_DEC(gb2312)
- IMPORTMAP_ENC(gbcommon)
- MAPCLOSE()
-END_CODEC_REGISTRY(gb2312)