summaryrefslogtreecommitdiff
path: root/src/interfaces/odbc/windev/multibyte.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/odbc/windev/multibyte.c')
-rw-r--r--src/interfaces/odbc/windev/multibyte.c138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/interfaces/odbc/windev/multibyte.c b/src/interfaces/odbc/windev/multibyte.c
deleted file mode 100644
index b19af2764c0..00000000000
--- a/src/interfaces/odbc/windev/multibyte.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*--------
- * Module : multibyte.c
- *
- * Description: Mlutibyte related additional function.
- *
- * Create 2001-03-03 Eiji Tokuya
- *--------
- */
-
-#include "multibyte.h"
-#include <string.h>
-
-int multibyte_client_encoding; /* Multibyte Client Encoding. */
-int multibyte_status; /* Multibyte Odds and ends character. */
-
-
-unsigned char *
-multibyte_strchr(unsigned char *s, unsigned char c)
-{
- int mb_st = 0,
- i = 0;
-
- while (!(mb_st == 0 && (s[i] == c || s[i] == 0)))
- {
- if (s[i] == 0)
- return (0);
- switch (multibyte_client_encoding)
- {
- case SJIS:
- {
- if (mb_st < 2 && s[i] > 0x80 && !(s[i] > 0x9f && s[i] < 0xe0))
- mb_st = 2;
- else if (mb_st == 2)
- mb_st = 1;
- else
- mb_st = 0;
- }
- break;
-
-/* Chinese Big5 Support. */
- case BIG5:
- {
- if (mb_st < 2 && s[i] > 0xA0)
- mb_st = 2;
- else if (mb_st == 2)
- mb_st = 1;
- else
- mb_st = 0;
- }
- break;
- default:
- mb_st = 0;
- }
- i++;
- }
-#ifdef _DEBUG
- qlog("i = %d\n", i);
-#endif
- return (s + i);
-}
-
-
-void
-multibyte_init(void)
-{
- multibyte_status = 0;
-}
-
-
-unsigned char *
-check_client_encoding(unsigned char *str)
-{
- if (strstr(str, "%27SJIS%27") ||
- strstr(str, "%27Shift_JIS%27") ||
- strstr(str, "'SJIS'") ||
- strstr(str, "'sjis'") ||
- strstr(str, "'Shift_JIS'"))
- {
- multibyte_client_encoding = SJIS;
- return ("SJIS");
- }
- if (strstr(str, "%27BIG5%27") ||
- strstr(str, "%27Big5%27") ||
- strstr(str, "'BIG5'") ||
- strstr(str, "'big5'") ||
- strstr(str, "'Big5'"))
- {
- multibyte_client_encoding = BIG5;
- return ("BIG5");
- }
- return ("OTHER");
-}
-
-
-/*--------
- * Multibyte Status Function.
- * Input char
- * Output 0 : 1 Byte Character.
- * 1 : MultibyteCharacter Last Byte.
- * N : MultibyteCharacter Fast or Middle Byte.
- *--------
- */
-int
-multibyte_char_check(unsigned char s)
-{
- switch (multibyte_client_encoding)
- {
- /* Japanese Shift-JIS(CP932) Support. */
- case SJIS:
- {
- if (multibyte_status < 2 && s > 0x80 && !(s > 0x9f && s < 0xE0))
- multibyte_status = 2;
- else if (multibyte_status == 2)
- multibyte_status = 1;
- else
- multibyte_status = 0;
- }
- break;
-
- /* Chinese Big5(CP950) Support. */
- case BIG5:
- {
- if (multibyte_status < 2 && s > 0xA0)
- multibyte_status = 2;
- else if (multibyte_status == 2)
- multibyte_status = 1;
- else
- multibyte_status = 0;
- }
- break;
- default:
- multibyte_status = 0;
- }
-#ifdef _DEBUG
- qlog("multibyte_client_encoding = %d s = 0x%02X multibyte_stat = %d\n", multibyte_client_encoding, s, multibyte_status);
-#endif
- return (multibyte_status);
-}