Rename to Sj4
This commit is contained in:
parent
0184e70f04
commit
0a2839610b
121 changed files with 1471 additions and 1461 deletions
|
|
@ -1,103 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 1991-1994 Sony Corporation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of Sony Corporation
|
||||
* shall not be used in advertising or otherwise to promote the sale, use
|
||||
* or other dealings in this Software without prior written authorization
|
||||
* from Sony Corporation.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: sj3err.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:58 $
|
||||
*/
|
||||
|
||||
#define SJ3_InternalError -1
|
||||
|
||||
#define SJ3_NormalEnd 0
|
||||
|
||||
#define SJ3_ServerDown 1
|
||||
#define SJ3_OpenSocket 2
|
||||
#define SJ3_ConnectSocket 3
|
||||
#define SJ3_GetHostByName 4
|
||||
#define SJ3_NotOpened 5
|
||||
#define SJ3_NotEnoughMemory 6
|
||||
#define SJ3_IllegalCommand 7
|
||||
|
||||
#define SJ3_DifferentVersion 11
|
||||
#define SJ3_NoHostName 12
|
||||
#define SJ3_NoUserName 13
|
||||
#define SJ3_NotAllowedUser 14
|
||||
#define SJ3_AlreadyConnected 15
|
||||
#define SJ3_NotConnected 16
|
||||
|
||||
#define SJ3_TooLongParameter 21
|
||||
#define SJ3_IllegalParameter 22
|
||||
|
||||
#define SJ3_BadDictID 31
|
||||
#define SJ3_IllegalDictFile 32
|
||||
#define SJ3_IllegalStdyFile 33
|
||||
#define SJ3_IncorrectPasswd 34
|
||||
#define SJ3_FileNotExist 35
|
||||
#define SJ3_CannotAccessFile 36
|
||||
#define SJ3_CannotOpenFile 37
|
||||
#define SJ3_CannotCreateFile 38
|
||||
#define SJ3_FileReadError 39
|
||||
#define SJ3_FileWriteError 40
|
||||
#define SJ3_FileSeekError 41
|
||||
|
||||
#define SJ3_StdyAlreadyOpened 51
|
||||
#define SJ3_StdyFileNotOpened 52
|
||||
#define SJ3_TooSmallStdyArea 53
|
||||
|
||||
#define SJ3_LockedByOther 61
|
||||
#define SJ3_NotLocked 62
|
||||
|
||||
#define SJ3_NoSuchDict 71
|
||||
#define SJ3_ReadOnlyDict 72
|
||||
#define SJ3_DictLocked 73
|
||||
#define SJ3_BadYomiString 74
|
||||
#define SJ3_BadKanjiString 75
|
||||
#define SJ3_BadHinsiCode 76
|
||||
|
||||
#define SJ3_AddDictFailed 81
|
||||
#define SJ3_AlreadyExistWord 82
|
||||
#define SJ3_NoMoreDouonWord 83
|
||||
#define SJ3_NoMoreUserDict 84
|
||||
#define SJ3_NoMoreIndexBlock 85
|
||||
|
||||
#define SJ3_DelDictFailed 91
|
||||
#define SJ3_NoSuchWord 92
|
||||
|
||||
#define SJ3_DirAlreadyExist 101
|
||||
#define SJ3_CannotCreateDir 102
|
||||
|
||||
#define SJ3_NoMoreDictData 111
|
||||
|
||||
#define SJ3_UserConnected 121
|
||||
|
||||
#define SJ3_TooLongPasswd 131
|
||||
#define SJ3_TooLongComment 132
|
||||
|
||||
#define SJ3_CannotCodeConvert 133
|
||||
|
|
@ -1,357 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2004 Iwata <iwata@quasiquote.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef KANAKAN_H
|
||||
#define KANAKAN_H
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <errno.h>
|
||||
#include <sys/stat.h>
|
||||
#ifdef _WIN32
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_struct.h"
|
||||
|
||||
#ifdef SJ3_GLOBAL
|
||||
#define SJ3_CONTEXT
|
||||
#define SJ3_CONTEXT2 void
|
||||
#define SJ3_CONTEXT_PASS
|
||||
#define SJ3_CONTEXT_PASS2
|
||||
#else
|
||||
#define SJ3_CONTEXT Sj3Context *ctx,
|
||||
#define SJ3_CONTEXT2 Sj3Context* ctx
|
||||
#define SJ3_CONTEXT_PASS ctx,
|
||||
#define SJ3_CONTEXT_PASS2 ctx
|
||||
#endif
|
||||
|
||||
/*
|
||||
* NOTE:
|
||||
* All of these funtions calling rule are not following
|
||||
* ANSI like arguement lists, fun(dest, src, ...).
|
||||
* There are fun(src, dest, ...).
|
||||
*/
|
||||
|
||||
/* adddic.c */
|
||||
u_int adddic(SJ3_CONTEXT u_char*, u_char*, TypeGram);
|
||||
|
||||
/* addelcmn.c */
|
||||
void set_size(u_char*, int, int, int);
|
||||
u_int addel_arg(SJ3_CONTEXT u_char*, u_char*, TypeGram, u_char*, int);
|
||||
int cvtknj(SJ3_CONTEXT u_char*, u_char*, u_char*);
|
||||
int srchkana(SJ3_CONTEXT u_char**, int*);
|
||||
int srchgram(u_char*, u_char**, TypeGram);
|
||||
int srchkanji(u_char**, u_char*, int);
|
||||
TypeIdxOfs count_uidx(SJ3_CONTEXT2);
|
||||
void chg_uidx(SJ3_CONTEXT TypeDicSeg, u_char*, int);
|
||||
|
||||
/* alloc.c */
|
||||
JREC* alloc_jrec(SJ3_CONTEXT2);
|
||||
void free_jrec(SJ3_CONTEXT JREC*);
|
||||
CLREC* alloc_clrec(SJ3_CONTEXT2);
|
||||
void free_clrec(SJ3_CONTEXT CLREC*);
|
||||
|
||||
/* charsize.c */
|
||||
int codesize(u_char);
|
||||
|
||||
/* chrtbl.c */
|
||||
extern u_char chrtbl[256];
|
||||
|
||||
/* cl2knj.c */
|
||||
int cl2knj(SJ3_CONTEXT u_char*, int, u_char*);
|
||||
int nextcl(SJ3_CONTEXT u_char*, int);
|
||||
int prevcl(SJ3_CONTEXT u_char*, int);
|
||||
int selectnum(SJ3_CONTEXT2);
|
||||
|
||||
/* clstudy.c */
|
||||
int clstudy(SJ3_CONTEXT u_char*, u_char*, STDYOUT*);
|
||||
void delclsub(SJ3_CONTEXT u_char*);
|
||||
void mkclidx(SJ3_CONTEXT2);
|
||||
|
||||
/* cmpstr.c */
|
||||
int cmpstr(u_char*, u_char*);
|
||||
|
||||
/* conjunc.c */
|
||||
extern u_char* conjadr[];
|
||||
|
||||
/* connect.c */
|
||||
extern u_char connadr[];
|
||||
extern u_char* rigtadr[];
|
||||
|
||||
/* cvtclknj.c */
|
||||
void cvtclknj(SJ3_CONTEXT2);
|
||||
|
||||
/* cvtdict.c */
|
||||
void cvtdict(SJ3_CONTEXT KHREC*, CLREC*, int);
|
||||
void cvtminasi(SJ3_CONTEXT int);
|
||||
void cvtwakachi(SJ3_CONTEXT CLREC*);
|
||||
|
||||
/* cvtkanji.c */
|
||||
void cvtphknj(SJ3_CONTEXT2);
|
||||
void cvtkouho(SJ3_CONTEXT KHREC*);
|
||||
void setstyrec(SJ3_CONTEXT KHREC*);
|
||||
|
||||
/* deldic.c */
|
||||
u_int deldic(SJ3_CONTEXT u_char*, u_char*, TypeGram);
|
||||
|
||||
/* dict.c */
|
||||
void get_askknj(SJ3_CONTEXT2);
|
||||
int seldict(SJ3_CONTEXT TypeDicID);
|
||||
u_char* get_idxptr(SJ3_CONTEXT TypeDicSeg);
|
||||
|
||||
/* functbl.c */
|
||||
extern VFunc cvtnum_func[];
|
||||
extern UCPFunc getkan_func[];
|
||||
extern IFunc setjrec_func[];
|
||||
extern IFunc hiraknj_func[];
|
||||
|
||||
/* fuzoku.c */
|
||||
void setclrec(SJ3_CONTEXT JREC*, u_char*, TypeCnct);
|
||||
RECURS void srchfzk(SJ3_CONTEXT JREC*, u_char*, TypeCnct, int);
|
||||
|
||||
/* fzkyomi.c */
|
||||
extern u_char* fzkadr[];
|
||||
|
||||
/* getkanji.c */
|
||||
u_char* getkan_none(u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_hira(u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_kata(u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_knj(SJ3_CONTEXT u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_ofs(SJ3_CONTEXT u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_norm(u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_ascii(u_char*, u_char*, u_char*, int, int);
|
||||
int getkanji(SJ3_CONTEXT u_char*, int, u_char*, u_char*);
|
||||
|
||||
/* getrank.c */
|
||||
void getrank(SJ3_CONTEXT2);
|
||||
|
||||
/* hzstrlen.c */
|
||||
int euc_codesize(u_char c);
|
||||
int hzstrlen(u_char*, int);
|
||||
|
||||
/* init.c */
|
||||
void seg_count(SJ3_CONTEXT DICT*);
|
||||
void mkidxtbl(SJ3_CONTEXT DICT*);
|
||||
void initwork(SJ3_CONTEXT2);
|
||||
#ifndef SJ3_GLOBAL
|
||||
Sj3Context* alloccontext(const char*);
|
||||
void free_context(Sj3Context*);
|
||||
#endif
|
||||
|
||||
/* istrcmp.c */
|
||||
int istrcmp(u_char*, u_char*, int, int);
|
||||
|
||||
/* memcpy.c */
|
||||
void sstrncpy(u_char*, u_char*, int);
|
||||
|
||||
/* memory.c */
|
||||
JREC* free_jlst(SJ3_CONTEXT JREC*);
|
||||
CLREC* free_clst(SJ3_CONTEXT CLREC*, int);
|
||||
void free_clall(SJ3_CONTEXT CLREC*);
|
||||
void free_jall(SJ3_CONTEXT JREC*);
|
||||
void freework(SJ3_CONTEXT2);
|
||||
|
||||
/* mk2claus.c */
|
||||
void mk2claus(SJ3_CONTEXT2);
|
||||
|
||||
/* mkbunset.c */
|
||||
void mkbunsetu(SJ3_CONTEXT2);
|
||||
CLREC* argclrec(SJ3_CONTEXT int);
|
||||
|
||||
/* mkjiritu.c */
|
||||
void mkjiritu(SJ3_CONTEXT int);
|
||||
JREC* argjrec(SJ3_CONTEXT int, JREC*);
|
||||
|
||||
/* mkkouho.c */
|
||||
void mkkouho(SJ3_CONTEXT2);
|
||||
u_char* makekan_none(SJ3_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_1byte(SJ3_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_knj(SJ3_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_ofs(SJ3_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_norm(SJ3_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_ascii(SJ3_CONTEXT u_char*, u_char*, int);
|
||||
int sel_sjmode(JREC*);
|
||||
|
||||
/* mknumber.c */
|
||||
void num_type00(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type01(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type02(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type03(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type04(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type05(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type06(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type07(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type08(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type09(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type10(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type11(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type12(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type13(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type14(SJ3_CONTEXT u_char*, u_char*, JREC*);
|
||||
|
||||
/* mvmemd.c */
|
||||
void mvmemd(u_char*, u_char*, int);
|
||||
|
||||
/* mvmemi.c */
|
||||
void mvmemi(u_char*, u_char*, int);
|
||||
|
||||
/* peepdic.c */
|
||||
int getusr(SJ3_CONTEXT u_char*);
|
||||
int nextusr(SJ3_CONTEXT u_char*);
|
||||
int prevusr(SJ3_CONTEXT u_char*);
|
||||
|
||||
/* ph2knj.c */
|
||||
int ph2knj(SJ3_CONTEXT u_char*, u_char*, int);
|
||||
|
||||
/* ph_khtbl.c */
|
||||
int ph_khtbl(SJ3_CONTEXT CLREC*);
|
||||
|
||||
/* priority.c */
|
||||
int priority(SJ3_CONTEXT CLREC*);
|
||||
void pritiny(SJ3_CONTEXT2);
|
||||
|
||||
/* prtytbl.c */
|
||||
extern u_char taipri[7][45];
|
||||
extern u_char sttpri[5][31];
|
||||
|
||||
/* s2ctbl.c */
|
||||
extern u_char kigou[];
|
||||
|
||||
/* sdepend.c */
|
||||
DictFile* opendict(SJ3_CONTEXT char*, char*);
|
||||
int closedict(SJ3_CONTEXT DictFile*);
|
||||
void lock_dict(DictFile*, int);
|
||||
void unlock_dict(DictFile*, int);
|
||||
int is_dict_locked(DictFile*);
|
||||
StdyFile* openstdy(char*, char*);
|
||||
int closestdy(StdyFile*);
|
||||
int putstydic(SJ3_CONTEXT2);
|
||||
int putcldic(SJ3_CONTEXT2);
|
||||
int makedict(char*, int, int, int);
|
||||
int makestdy(char*, int, int, int);
|
||||
void sj_closeall(SJ3_CONTEXT2);
|
||||
int set_dictpass(DictFile*, char*);
|
||||
int set_stdypass(SJ3_CONTEXT char*);
|
||||
int set_dictcmnt(DictFile*, char*);
|
||||
int set_stdycmnt(SJ3_CONTEXT char*);
|
||||
int get_stdysize(SJ3_CONTEXT int*, int*, int*);
|
||||
|
||||
/* selclrec.c */
|
||||
void selclrec(SJ3_CONTEXT2);
|
||||
|
||||
/* selsuuji.c */
|
||||
extern u_short* selsjadrs[];
|
||||
|
||||
/* setconj.c */
|
||||
int setconj(SJ3_CONTEXT TypeGram, JREC*, CREC*);
|
||||
|
||||
/* setjrec.c */
|
||||
int setj_atrb(SJ3_CONTEXT u_char*);
|
||||
int setj_ofs(SJ3_CONTEXT u_char*);
|
||||
int setj_knj(SJ3_CONTEXT u_char*);
|
||||
int setj_norm1(SJ3_CONTEXT u_char*);
|
||||
int setj_norm2(SJ3_CONTEXT u_char*);
|
||||
int setj_norm3(SJ3_CONTEXT u_char*); /* unused??? */
|
||||
void setjrec(SJ3_CONTEXT u_char*, int);
|
||||
void setnumrec(SJ3_CONTEXT u_char*, JREC*, TypeGram);
|
||||
void setcrec(SJ3_CONTEXT u_char*);
|
||||
|
||||
/* setkouho.c */
|
||||
void setkouho(SJ3_CONTEXT CLREC*, TypeDicOfs, int);
|
||||
void ph_setkouho(SJ3_CONTEXT CLREC*, TypeDicOfs, STDYIN*);
|
||||
int hiraknj_atrb(SJ3_CONTEXT u_char*, int*);
|
||||
int hiraknj_ofs(SJ3_CONTEXT u_char*, int*);
|
||||
int hiraknj_knj(SJ3_CONTEXT u_char*, int*);
|
||||
int hiraknj_hask(SJ3_CONTEXT u_char*, int*);
|
||||
int hiraknj_kask(SJ3_CONTEXT u_char*, int*);
|
||||
int hiraknj_norm(SJ3_CONTEXT u_char*, int*);
|
||||
int hiraknj_hira(SJ3_CONTEXT u_char*, int*);
|
||||
|
||||
/* setubi.c */
|
||||
u_char* getstb(TypeGram);
|
||||
void setubi(SJ3_CONTEXT JREC*, u_char*);
|
||||
|
||||
/* sj2code.c */
|
||||
int sj2cd_chr(u_char*, u_char*);
|
||||
int sj2cd_str(u_char*, u_char*, int);
|
||||
|
||||
/* skiphblk.c */
|
||||
u_char* skiphblk(u_char*);
|
||||
|
||||
/* skipkstr.c */
|
||||
u_char* skipkstr(u_char*);
|
||||
|
||||
/* srchdict.c */
|
||||
int yomicmp(SJ3_CONTEXT u_char*, u_char*, u_char*);
|
||||
u_char* srchdict(SJ3_CONTEXT u_char*);
|
||||
|
||||
/* srchhead.c */
|
||||
int srchhead(SJ3_CONTEXT2);
|
||||
|
||||
/* srchidx.c */
|
||||
TypeDicSeg srchidx(SJ3_CONTEXT TypeDicSeg, int);
|
||||
|
||||
/* srchnum.c*/
|
||||
void srchnum(SJ3_CONTEXT2);
|
||||
void setwdnum(SJ3_CONTEXT u_char*, int, u_short*);
|
||||
int setucnum(SJ3_CONTEXT u_char*, int, u_char*);
|
||||
|
||||
/* sstrcmp.c */
|
||||
int sstrcmp(u_char*, u_char*);
|
||||
|
||||
/* sstrlen.c */
|
||||
int sstrlen(u_char*);
|
||||
|
||||
/* sstrncmp.c */
|
||||
int sstrncmp(u_char*, u_char*, int);
|
||||
|
||||
/* stbtbl.c */
|
||||
extern u_char* stbadr[];
|
||||
|
||||
/* stttbl.c */
|
||||
extern u_char* settou_ptr[];
|
||||
extern u_char scncttbl[2][24];
|
||||
|
||||
/* study.c */
|
||||
int study(SJ3_CONTEXT STDYOUT*);
|
||||
STDYIN* srchstdy(SJ3_CONTEXT TypeDicSeg, TypeDicOfs, TypeDicID);
|
||||
|
||||
/* suujitbl.c */
|
||||
extern u_char suuji_tbl[];
|
||||
extern u_char kurai1_tbl[];
|
||||
extern u_char kurai2_tbl[];
|
||||
extern u_char num1tbl[];
|
||||
extern u_char num2tbl[];
|
||||
extern u_char num3tbl[];
|
||||
extern u_char num4tbl[];
|
||||
extern u_char num5tbl[];
|
||||
extern u_char num6tbl[];
|
||||
|
||||
/* terminat.c */
|
||||
int terminate(SJ3_CONTEXT TypeCnct, u_char*);
|
||||
|
||||
/* termtbl.c */
|
||||
extern u_char termtbl[];
|
||||
|
||||
/* wakachi.c */
|
||||
void wakachi(SJ3_CONTEXT2);
|
||||
|
||||
#endif /* KANAKAN_H */
|
||||
|
|
@ -63,16 +63,16 @@
|
|||
#define LOGOUTFILE NULL
|
||||
#define ERROROUTFILE "/dev/null"
|
||||
#define ADDRESSFAMILY "unspec"
|
||||
#define PORTNAME "sj3"
|
||||
#define PORTNAME "sj4"
|
||||
#define LOCALHOST "localhost"
|
||||
#define CHROOTFLAG 1
|
||||
|
||||
#define MAINDICTIONARY "sj3main.dic"
|
||||
#define MAINDICTIONARY "sj4main.dic"
|
||||
#define USERDICTIONARY "private.dic"
|
||||
#define STUDYFILE "study.dat"
|
||||
|
||||
/*
|
||||
* Change the default Port number of sj3 for FreeBSD.
|
||||
* Change the default Port number of sj4 for FreeBSD.
|
||||
* Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20
|
||||
*/
|
||||
#define PORTNUMBER "3086"
|
||||
|
|
@ -28,72 +28,72 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: sj3cmd.h,v $
|
||||
* $SonyRCSfile: sj4cmd.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:57 $
|
||||
*/
|
||||
|
||||
#define SJ3SERV_VERSION_NO 2
|
||||
#define SJ4SERV_VERSION_NO 2
|
||||
|
||||
#define SJ3_CONNECT 1
|
||||
#define SJ3_DISCONNECT 2
|
||||
#define SJ4_CONNECT 1
|
||||
#define SJ4_DISCONNECT 2
|
||||
|
||||
#define SJ3_OPENDICT 11
|
||||
#define SJ3_CLOSEDICT 12
|
||||
#define SJ4_OPENDICT 11
|
||||
#define SJ4_CLOSEDICT 12
|
||||
|
||||
#define SJ3_OPENSTDY 21
|
||||
#define SJ3_CLOSESTDY 22
|
||||
#define SJ3_STDYSIZE 23
|
||||
#define SJ4_OPENSTDY 21
|
||||
#define SJ4_CLOSESTDY 22
|
||||
#define SJ4_STDYSIZE 23
|
||||
|
||||
#define SJ3_LOCK 31
|
||||
#define SJ3_UNLOCK 32
|
||||
#define SJ4_LOCK 31
|
||||
#define SJ4_UNLOCK 32
|
||||
|
||||
#define SJ3_PH2KNJ 41
|
||||
#define SJ4_PH2KNJ 41
|
||||
|
||||
#define SJ3_CL2KNJ 51
|
||||
#define SJ3_NEXTCL 52
|
||||
#define SJ3_PREVCL 53
|
||||
#define SJ3_CL2KNJ_ALL 54
|
||||
#define SJ3_CL2KNJ_CNT 55
|
||||
#define SJ4_CL2KNJ 51
|
||||
#define SJ4_NEXTCL 52
|
||||
#define SJ4_PREVCL 53
|
||||
#define SJ4_CL2KNJ_ALL 54
|
||||
#define SJ4_CL2KNJ_CNT 55
|
||||
|
||||
#define SJ3_STUDY 61
|
||||
#define SJ3_CLSTUDY 62
|
||||
#define SJ4_STUDY 61
|
||||
#define SJ4_CLSTUDY 62
|
||||
|
||||
#define SJ3_ADDDICT 71
|
||||
#define SJ3_DELDICT 72
|
||||
#define SJ4_ADDDICT 71
|
||||
#define SJ4_DELDICT 72
|
||||
|
||||
#define SJ3_MAKEDICT 81
|
||||
#define SJ3_MAKESTDY 82
|
||||
#define SJ3_MAKEDIR 83
|
||||
#define SJ3_ACCESS 84
|
||||
#define SJ4_MAKEDICT 81
|
||||
#define SJ4_MAKESTDY 82
|
||||
#define SJ4_MAKEDIR 83
|
||||
#define SJ4_ACCESS 84
|
||||
|
||||
#define SJ3_GETDICT 91
|
||||
#define SJ3_NEXTDICT 92
|
||||
#define SJ3_PREVDICT 93
|
||||
#define SJ4_GETDICT 91
|
||||
#define SJ4_NEXTDICT 92
|
||||
#define SJ4_PREVDICT 93
|
||||
|
||||
#define SJ3_WHO 100
|
||||
#define SJ3_QUIT 101
|
||||
#define SJ3_KILL 102
|
||||
#define SJ3_VERSION 103
|
||||
#define SJ3_DICTPASS 104
|
||||
#define SJ3_DICTCMNT 105
|
||||
#define SJ3_STDYPASS 106
|
||||
#define SJ3_STDYCMNT 107
|
||||
#define SJ4_WHO 100
|
||||
#define SJ4_QUIT 101
|
||||
#define SJ4_KILL 102
|
||||
#define SJ4_VERSION 103
|
||||
#define SJ4_DICTPASS 104
|
||||
#define SJ4_DICTCMNT 105
|
||||
#define SJ4_STDYPASS 106
|
||||
#define SJ4_STDYCMNT 107
|
||||
|
||||
#define SJ3_SETCVER 110
|
||||
#define SJ3_PH2KNJ_EUC 111
|
||||
#define SJ4_SETCVER 110
|
||||
#define SJ4_PH2KNJ_EUC 111
|
||||
|
||||
#define SJ3_CL2KNJ_EUC 112
|
||||
#define SJ3_NEXTCL_EUC 113
|
||||
#define SJ3_PREVCL_EUC 114
|
||||
#define SJ3_CL2KNJ_ALL_EUC 115
|
||||
#define SJ3_CL2KNJ_CNT_EUC 116
|
||||
#define SJ4_CL2KNJ_EUC 112
|
||||
#define SJ4_NEXTCL_EUC 113
|
||||
#define SJ4_PREVCL_EUC 114
|
||||
#define SJ4_CL2KNJ_ALL_EUC 115
|
||||
#define SJ4_CL2KNJ_CNT_EUC 116
|
||||
|
||||
#define SJ3_CLSTUDY_EUC 117
|
||||
#define SJ4_CLSTUDY_EUC 117
|
||||
|
||||
#define SJ3_ADDDICT_EUC 118
|
||||
#define SJ3_DELDICT_EUC 119
|
||||
#define SJ4_ADDDICT_EUC 118
|
||||
#define SJ4_DELDICT_EUC 119
|
||||
|
||||
#define SJ3_GETDICT_EUC 120
|
||||
#define SJ3_NEXTDICT_EUC 121
|
||||
#define SJ3_PREVDICT_EUC 122
|
||||
#define SJ4_GETDICT_EUC 120
|
||||
#define SJ4_NEXTDICT_EUC 121
|
||||
#define SJ4_PREVDICT_EUC 122
|
||||
103
include/sj4common/sj4err.h
Normal file
103
include/sj4common/sj4err.h
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
/*
|
||||
* Copyright (c) 1991-1994 Sony Corporation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of Sony Corporation
|
||||
* shall not be used in advertising or otherwise to promote the sale, use
|
||||
* or other dealings in this Software without prior written authorization
|
||||
* from Sony Corporation.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: sj4err.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:58 $
|
||||
*/
|
||||
|
||||
#define SJ4_InternalError -1
|
||||
|
||||
#define SJ4_NormalEnd 0
|
||||
|
||||
#define SJ4_ServerDown 1
|
||||
#define SJ4_OpenSocket 2
|
||||
#define SJ4_ConnectSocket 3
|
||||
#define SJ4_GetHostByName 4
|
||||
#define SJ4_NotOpened 5
|
||||
#define SJ4_NotEnoughMemory 6
|
||||
#define SJ4_IllegalCommand 7
|
||||
|
||||
#define SJ4_DifferentVersion 11
|
||||
#define SJ4_NoHostName 12
|
||||
#define SJ4_NoUserName 13
|
||||
#define SJ4_NotAllowedUser 14
|
||||
#define SJ4_AlreadyConnected 15
|
||||
#define SJ4_NotConnected 16
|
||||
|
||||
#define SJ4_TooLongParameter 21
|
||||
#define SJ4_IllegalParameter 22
|
||||
|
||||
#define SJ4_BadDictID 31
|
||||
#define SJ4_IllegalDictFile 32
|
||||
#define SJ4_IllegalStdyFile 33
|
||||
#define SJ4_IncorrectPasswd 34
|
||||
#define SJ4_FileNotExist 35
|
||||
#define SJ4_CannotAccessFile 36
|
||||
#define SJ4_CannotOpenFile 37
|
||||
#define SJ4_CannotCreateFile 38
|
||||
#define SJ4_FileReadError 39
|
||||
#define SJ4_FileWriteError 40
|
||||
#define SJ4_FileSeekError 41
|
||||
|
||||
#define SJ4_StdyAlreadyOpened 51
|
||||
#define SJ4_StdyFileNotOpened 52
|
||||
#define SJ4_TooSmallStdyArea 53
|
||||
|
||||
#define SJ4_LockedByOther 61
|
||||
#define SJ4_NotLocked 62
|
||||
|
||||
#define SJ4_NoSuchDict 71
|
||||
#define SJ4_ReadOnlyDict 72
|
||||
#define SJ4_DictLocked 73
|
||||
#define SJ4_BadYomiString 74
|
||||
#define SJ4_BadKanjiString 75
|
||||
#define SJ4_BadHinsiCode 76
|
||||
|
||||
#define SJ4_AddDictFailed 81
|
||||
#define SJ4_AlreadyExistWord 82
|
||||
#define SJ4_NoMoreDouonWord 83
|
||||
#define SJ4_NoMoreUserDict 84
|
||||
#define SJ4_NoMoreIndexBlock 85
|
||||
|
||||
#define SJ4_DelDictFailed 91
|
||||
#define SJ4_NoSuchWord 92
|
||||
|
||||
#define SJ4_DirAlreadyExist 101
|
||||
#define SJ4_CannotCreateDir 102
|
||||
|
||||
#define SJ4_NoMoreDictData 111
|
||||
|
||||
#define SJ4_UserConnected 121
|
||||
|
||||
#define SJ4_TooLongPasswd 131
|
||||
#define SJ4_TooLongComment 132
|
||||
|
||||
#define SJ4_CannotCodeConvert 133
|
||||
|
|
@ -18,20 +18,20 @@
|
|||
#define SJ_STRING_H
|
||||
|
||||
/* string.c */
|
||||
int sj3_str_sjistoeuc(unsigned char*, int, unsigned char*, unsigned char*, int*);
|
||||
int sj3_str_euctosjis(unsigned char*, int, unsigned char*, unsigned char*, int*);
|
||||
int sj3_sjistoeuclen(unsigned char*, int);
|
||||
int sj4_str_sjistoeuc(unsigned char*, int, unsigned char*, unsigned char*, int*);
|
||||
int sj4_str_euctosjis(unsigned char*, int, unsigned char*, unsigned char*, int*);
|
||||
int sj4_sjistoeuclen(unsigned char*, int);
|
||||
|
||||
int sj3_sjistoeuc(unsigned char* s, int, unsigned char*, int);
|
||||
int sj3_euctosjis(unsigned char* s, int, unsigned char*, int);
|
||||
int sj4_sjistoeuc(unsigned char* s, int, unsigned char*, int);
|
||||
int sj4_euctosjis(unsigned char* s, int, unsigned char*, int);
|
||||
void sj_euc2sjis(unsigned char*);
|
||||
void sj_jis2sjis(unsigned char*);
|
||||
void sj_sjis2euc(unsigned char*);
|
||||
void sj_sjis2jis(unsigned char*);
|
||||
unsigned short sj3_jis2sjis(unsigned short);
|
||||
unsigned short sj3_jis2euc(unsigned short);
|
||||
unsigned short sj3_sjis2jis(unsigned short);
|
||||
unsigned short sj3_euc2sjis(unsigned short);
|
||||
unsigned short sj3_sjis2euc(unsigned short);
|
||||
unsigned short sj4_jis2sjis(unsigned short);
|
||||
unsigned short sj4_jis2euc(unsigned short);
|
||||
unsigned short sj4_sjis2jis(unsigned short);
|
||||
unsigned short sj4_euc2sjis(unsigned short);
|
||||
unsigned short sj4_sjis2euc(unsigned short);
|
||||
|
||||
#endif /* SJ3INTERN_H */
|
||||
#endif /* SJ4INTERN_H */
|
||||
|
|
@ -116,7 +116,7 @@ typedef struct global {
|
|||
typedef struct dictfile {
|
||||
DICT dict;
|
||||
int refcnt;
|
||||
#ifdef SJ3_LOCK
|
||||
#ifdef SJ4_LOCK
|
||||
fd_set lock;
|
||||
#endif
|
||||
FILE* fp;
|
||||
|
|
@ -154,7 +154,7 @@ typedef struct workarea {
|
|||
Global global;
|
||||
} WorkArea;
|
||||
|
||||
typedef struct sj3context {
|
||||
typedef struct sj4context {
|
||||
Global* work;
|
||||
STDY* stdy;
|
||||
|
||||
|
|
@ -162,6 +162,6 @@ typedef struct sj3context {
|
|||
JREC* jrec_pool;
|
||||
CLREC* clrec_free;
|
||||
CLREC* clrec_pool;
|
||||
} Sj3Context;
|
||||
} Sj4Context;
|
||||
|
||||
#endif
|
||||
|
|
@ -28,34 +28,34 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: sj3lowlib.h,v $
|
||||
* $SonyRCSfile: sj4lowlib.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:59 $
|
||||
*/
|
||||
|
||||
#ifndef SJ3LOWLIB_H
|
||||
#define SJ3LOWLIB_H
|
||||
#ifndef SJ4LOWLIB_H
|
||||
#define SJ4LOWLIB_H
|
||||
|
||||
typedef struct sj3_client_env {
|
||||
typedef struct sj4_client_env {
|
||||
int fd;
|
||||
int serv_dead_flg;
|
||||
int stdy_size;
|
||||
short svr_version;
|
||||
short cli_version;
|
||||
char default_char[2];
|
||||
} SJ3_CLIENT_ENV;
|
||||
} SJ4_CLIENT_ENV;
|
||||
|
||||
#ifndef SJ3_NAME_LENGTH
|
||||
#define SJ3_NAME_LENGTH 128
|
||||
#ifndef SJ4_NAME_LENGTH
|
||||
#define SJ4_NAME_LENGTH 128
|
||||
#endif
|
||||
typedef struct sj3_who_struct {
|
||||
typedef struct sj4_who_struct {
|
||||
int fd;
|
||||
char hostname[SJ3_NAME_LENGTH];
|
||||
char username[SJ3_NAME_LENGTH];
|
||||
char progname[SJ3_NAME_LENGTH];
|
||||
} SJ3_WHO_STRUCT;
|
||||
char hostname[SJ4_NAME_LENGTH];
|
||||
char username[SJ4_NAME_LENGTH];
|
||||
char progname[SJ4_NAME_LENGTH];
|
||||
} SJ4_WHO_STRUCT;
|
||||
|
||||
#define MBCODE_SJIS 1
|
||||
#define MBCODE_EUC 2
|
||||
|
||||
#endif /* SJ3LOWLIB_H */
|
||||
#endif /* SJ4LOWLIB_H */
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
#ifndef SJ_GLOBAL_H
|
||||
#define SJ_GLOBAL_H
|
||||
|
||||
#ifdef SJ3_GLOBAL
|
||||
#ifdef SJ4_GLOBAL
|
||||
extern Global* work_base;
|
||||
extern STDY* stdy_base;
|
||||
#endif
|
||||
357
include/sj4core/sj_kanakan.h
Normal file
357
include/sj4core/sj_kanakan.h
Normal file
|
|
@ -0,0 +1,357 @@
|
|||
/*
|
||||
* Copyright (c) 2004 Iwata <iwata@quasiquote.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef KANAKAN_H
|
||||
#define KANAKAN_H
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <errno.h>
|
||||
#include <sys/stat.h>
|
||||
#ifdef _WIN32
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_struct.h"
|
||||
|
||||
#ifdef SJ4_GLOBAL
|
||||
#define SJ4_CONTEXT
|
||||
#define SJ4_CONTEXT2 void
|
||||
#define SJ4_CONTEXT_PASS
|
||||
#define SJ4_CONTEXT_PASS2
|
||||
#else
|
||||
#define SJ4_CONTEXT Sj4Context *ctx,
|
||||
#define SJ4_CONTEXT2 Sj4Context* ctx
|
||||
#define SJ4_CONTEXT_PASS ctx,
|
||||
#define SJ4_CONTEXT_PASS2 ctx
|
||||
#endif
|
||||
|
||||
/*
|
||||
* NOTE:
|
||||
* All of these funtions calling rule are not following
|
||||
* ANSI like arguement lists, fun(dest, src, ...).
|
||||
* There are fun(src, dest, ...).
|
||||
*/
|
||||
|
||||
/* adddic.c */
|
||||
u_int adddic(SJ4_CONTEXT u_char*, u_char*, TypeGram);
|
||||
|
||||
/* addelcmn.c */
|
||||
void set_size(u_char*, int, int, int);
|
||||
u_int addel_arg(SJ4_CONTEXT u_char*, u_char*, TypeGram, u_char*, int);
|
||||
int cvtknj(SJ4_CONTEXT u_char*, u_char*, u_char*);
|
||||
int srchkana(SJ4_CONTEXT u_char**, int*);
|
||||
int srchgram(u_char*, u_char**, TypeGram);
|
||||
int srchkanji(u_char**, u_char*, int);
|
||||
TypeIdxOfs count_uidx(SJ4_CONTEXT2);
|
||||
void chg_uidx(SJ4_CONTEXT TypeDicSeg, u_char*, int);
|
||||
|
||||
/* alloc.c */
|
||||
JREC* alloc_jrec(SJ4_CONTEXT2);
|
||||
void free_jrec(SJ4_CONTEXT JREC*);
|
||||
CLREC* alloc_clrec(SJ4_CONTEXT2);
|
||||
void free_clrec(SJ4_CONTEXT CLREC*);
|
||||
|
||||
/* charsize.c */
|
||||
int codesize(u_char);
|
||||
|
||||
/* chrtbl.c */
|
||||
extern u_char chrtbl[256];
|
||||
|
||||
/* cl2knj.c */
|
||||
int cl2knj(SJ4_CONTEXT u_char*, int, u_char*);
|
||||
int nextcl(SJ4_CONTEXT u_char*, int);
|
||||
int prevcl(SJ4_CONTEXT u_char*, int);
|
||||
int selectnum(SJ4_CONTEXT2);
|
||||
|
||||
/* clstudy.c */
|
||||
int clstudy(SJ4_CONTEXT u_char*, u_char*, STDYOUT*);
|
||||
void delclsub(SJ4_CONTEXT u_char*);
|
||||
void mkclidx(SJ4_CONTEXT2);
|
||||
|
||||
/* cmpstr.c */
|
||||
int cmpstr(u_char*, u_char*);
|
||||
|
||||
/* conjunc.c */
|
||||
extern u_char* conjadr[];
|
||||
|
||||
/* connect.c */
|
||||
extern u_char connadr[];
|
||||
extern u_char* rigtadr[];
|
||||
|
||||
/* cvtclknj.c */
|
||||
void cvtclknj(SJ4_CONTEXT2);
|
||||
|
||||
/* cvtdict.c */
|
||||
void cvtdict(SJ4_CONTEXT KHREC*, CLREC*, int);
|
||||
void cvtminasi(SJ4_CONTEXT int);
|
||||
void cvtwakachi(SJ4_CONTEXT CLREC*);
|
||||
|
||||
/* cvtkanji.c */
|
||||
void cvtphknj(SJ4_CONTEXT2);
|
||||
void cvtkouho(SJ4_CONTEXT KHREC*);
|
||||
void setstyrec(SJ4_CONTEXT KHREC*);
|
||||
|
||||
/* deldic.c */
|
||||
u_int deldic(SJ4_CONTEXT u_char*, u_char*, TypeGram);
|
||||
|
||||
/* dict.c */
|
||||
void get_askknj(SJ4_CONTEXT2);
|
||||
int seldict(SJ4_CONTEXT TypeDicID);
|
||||
u_char* get_idxptr(SJ4_CONTEXT TypeDicSeg);
|
||||
|
||||
/* functbl.c */
|
||||
extern VFunc cvtnum_func[];
|
||||
extern UCPFunc getkan_func[];
|
||||
extern IFunc setjrec_func[];
|
||||
extern IFunc hiraknj_func[];
|
||||
|
||||
/* fuzoku.c */
|
||||
void setclrec(SJ4_CONTEXT JREC*, u_char*, TypeCnct);
|
||||
RECURS void srchfzk(SJ4_CONTEXT JREC*, u_char*, TypeCnct, int);
|
||||
|
||||
/* fzkyomi.c */
|
||||
extern u_char* fzkadr[];
|
||||
|
||||
/* getkanji.c */
|
||||
u_char* getkan_none(u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_hira(u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_kata(u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_knj(SJ4_CONTEXT u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_ofs(SJ4_CONTEXT u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_norm(u_char*, u_char*, u_char*, int, int);
|
||||
u_char* getkan_ascii(u_char*, u_char*, u_char*, int, int);
|
||||
int getkanji(SJ4_CONTEXT u_char*, int, u_char*, u_char*);
|
||||
|
||||
/* getrank.c */
|
||||
void getrank(SJ4_CONTEXT2);
|
||||
|
||||
/* hzstrlen.c */
|
||||
int euc_codesize(u_char c);
|
||||
int hzstrlen(u_char*, int);
|
||||
|
||||
/* init.c */
|
||||
void seg_count(SJ4_CONTEXT DICT*);
|
||||
void mkidxtbl(SJ4_CONTEXT DICT*);
|
||||
void initwork(SJ4_CONTEXT2);
|
||||
#ifndef SJ4_GLOBAL
|
||||
Sj4Context* alloccontext(const char*);
|
||||
void free_context(Sj4Context*);
|
||||
#endif
|
||||
|
||||
/* istrcmp.c */
|
||||
int istrcmp(u_char*, u_char*, int, int);
|
||||
|
||||
/* memcpy.c */
|
||||
void sstrncpy(u_char*, u_char*, int);
|
||||
|
||||
/* memory.c */
|
||||
JREC* free_jlst(SJ4_CONTEXT JREC*);
|
||||
CLREC* free_clst(SJ4_CONTEXT CLREC*, int);
|
||||
void free_clall(SJ4_CONTEXT CLREC*);
|
||||
void free_jall(SJ4_CONTEXT JREC*);
|
||||
void freework(SJ4_CONTEXT2);
|
||||
|
||||
/* mk2claus.c */
|
||||
void mk2claus(SJ4_CONTEXT2);
|
||||
|
||||
/* mkbunset.c */
|
||||
void mkbunsetu(SJ4_CONTEXT2);
|
||||
CLREC* argclrec(SJ4_CONTEXT int);
|
||||
|
||||
/* mkjiritu.c */
|
||||
void mkjiritu(SJ4_CONTEXT int);
|
||||
JREC* argjrec(SJ4_CONTEXT int, JREC*);
|
||||
|
||||
/* mkkouho.c */
|
||||
void mkkouho(SJ4_CONTEXT2);
|
||||
u_char* makekan_none(SJ4_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_1byte(SJ4_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_knj(SJ4_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_ofs(SJ4_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_norm(SJ4_CONTEXT u_char*, u_char*, int);
|
||||
u_char* makekan_ascii(SJ4_CONTEXT u_char*, u_char*, int);
|
||||
int sel_sjmode(JREC*);
|
||||
|
||||
/* mknumber.c */
|
||||
void num_type00(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type01(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type02(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type03(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type04(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type05(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type06(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type07(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type08(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type09(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type10(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type11(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type12(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type13(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
void num_type14(SJ4_CONTEXT u_char*, u_char*, JREC*);
|
||||
|
||||
/* mvmemd.c */
|
||||
void mvmemd(u_char*, u_char*, int);
|
||||
|
||||
/* mvmemi.c */
|
||||
void mvmemi(u_char*, u_char*, int);
|
||||
|
||||
/* peepdic.c */
|
||||
int getusr(SJ4_CONTEXT u_char*);
|
||||
int nextusr(SJ4_CONTEXT u_char*);
|
||||
int prevusr(SJ4_CONTEXT u_char*);
|
||||
|
||||
/* ph2knj.c */
|
||||
int ph2knj(SJ4_CONTEXT u_char*, u_char*, int);
|
||||
|
||||
/* ph_khtbl.c */
|
||||
int ph_khtbl(SJ4_CONTEXT CLREC*);
|
||||
|
||||
/* priority.c */
|
||||
int priority(SJ4_CONTEXT CLREC*);
|
||||
void pritiny(SJ4_CONTEXT2);
|
||||
|
||||
/* prtytbl.c */
|
||||
extern u_char taipri[7][45];
|
||||
extern u_char sttpri[5][31];
|
||||
|
||||
/* s2ctbl.c */
|
||||
extern u_char kigou[];
|
||||
|
||||
/* sdepend.c */
|
||||
DictFile* opendict(SJ4_CONTEXT char*, char*);
|
||||
int closedict(SJ4_CONTEXT DictFile*);
|
||||
void lock_dict(DictFile*, int);
|
||||
void unlock_dict(DictFile*, int);
|
||||
int is_dict_locked(DictFile*);
|
||||
StdyFile* openstdy(char*, char*);
|
||||
int closestdy(StdyFile*);
|
||||
int putstydic(SJ4_CONTEXT2);
|
||||
int putcldic(SJ4_CONTEXT2);
|
||||
int makedict(char*, int, int, int);
|
||||
int makestdy(char*, int, int, int);
|
||||
void sj_closeall(SJ4_CONTEXT2);
|
||||
int set_dictpass(DictFile*, char*);
|
||||
int set_stdypass(SJ4_CONTEXT char*);
|
||||
int set_dictcmnt(DictFile*, char*);
|
||||
int set_stdycmnt(SJ4_CONTEXT char*);
|
||||
int get_stdysize(SJ4_CONTEXT int*, int*, int*);
|
||||
|
||||
/* selclrec.c */
|
||||
void selclrec(SJ4_CONTEXT2);
|
||||
|
||||
/* selsuuji.c */
|
||||
extern u_short* selsjadrs[];
|
||||
|
||||
/* setconj.c */
|
||||
int setconj(SJ4_CONTEXT TypeGram, JREC*, CREC*);
|
||||
|
||||
/* setjrec.c */
|
||||
int setj_atrb(SJ4_CONTEXT u_char*);
|
||||
int setj_ofs(SJ4_CONTEXT u_char*);
|
||||
int setj_knj(SJ4_CONTEXT u_char*);
|
||||
int setj_norm1(SJ4_CONTEXT u_char*);
|
||||
int setj_norm2(SJ4_CONTEXT u_char*);
|
||||
int setj_norm3(SJ4_CONTEXT u_char*); /* unused??? */
|
||||
void setjrec(SJ4_CONTEXT u_char*, int);
|
||||
void setnumrec(SJ4_CONTEXT u_char*, JREC*, TypeGram);
|
||||
void setcrec(SJ4_CONTEXT u_char*);
|
||||
|
||||
/* setkouho.c */
|
||||
void setkouho(SJ4_CONTEXT CLREC*, TypeDicOfs, int);
|
||||
void ph_setkouho(SJ4_CONTEXT CLREC*, TypeDicOfs, STDYIN*);
|
||||
int hiraknj_atrb(SJ4_CONTEXT u_char*, int*);
|
||||
int hiraknj_ofs(SJ4_CONTEXT u_char*, int*);
|
||||
int hiraknj_knj(SJ4_CONTEXT u_char*, int*);
|
||||
int hiraknj_hask(SJ4_CONTEXT u_char*, int*);
|
||||
int hiraknj_kask(SJ4_CONTEXT u_char*, int*);
|
||||
int hiraknj_norm(SJ4_CONTEXT u_char*, int*);
|
||||
int hiraknj_hira(SJ4_CONTEXT u_char*, int*);
|
||||
|
||||
/* setubi.c */
|
||||
u_char* getstb(TypeGram);
|
||||
void setubi(SJ4_CONTEXT JREC*, u_char*);
|
||||
|
||||
/* sj2code.c */
|
||||
int sj2cd_chr(u_char*, u_char*);
|
||||
int sj2cd_str(u_char*, u_char*, int);
|
||||
|
||||
/* skiphblk.c */
|
||||
u_char* skiphblk(u_char*);
|
||||
|
||||
/* skipkstr.c */
|
||||
u_char* skipkstr(u_char*);
|
||||
|
||||
/* srchdict.c */
|
||||
int yomicmp(SJ4_CONTEXT u_char*, u_char*, u_char*);
|
||||
u_char* srchdict(SJ4_CONTEXT u_char*);
|
||||
|
||||
/* srchhead.c */
|
||||
int srchhead(SJ4_CONTEXT2);
|
||||
|
||||
/* srchidx.c */
|
||||
TypeDicSeg srchidx(SJ4_CONTEXT TypeDicSeg, int);
|
||||
|
||||
/* srchnum.c*/
|
||||
void srchnum(SJ4_CONTEXT2);
|
||||
void setwdnum(SJ4_CONTEXT u_char*, int, u_short*);
|
||||
int setucnum(SJ4_CONTEXT u_char*, int, u_char*);
|
||||
|
||||
/* sstrcmp.c */
|
||||
int sstrcmp(u_char*, u_char*);
|
||||
|
||||
/* sstrlen.c */
|
||||
int sstrlen(u_char*);
|
||||
|
||||
/* sstrncmp.c */
|
||||
int sstrncmp(u_char*, u_char*, int);
|
||||
|
||||
/* stbtbl.c */
|
||||
extern u_char* stbadr[];
|
||||
|
||||
/* stttbl.c */
|
||||
extern u_char* settou_ptr[];
|
||||
extern u_char scncttbl[2][24];
|
||||
|
||||
/* study.c */
|
||||
int study(SJ4_CONTEXT STDYOUT*);
|
||||
STDYIN* srchstdy(SJ4_CONTEXT TypeDicSeg, TypeDicOfs, TypeDicID);
|
||||
|
||||
/* suujitbl.c */
|
||||
extern u_char suuji_tbl[];
|
||||
extern u_char kurai1_tbl[];
|
||||
extern u_char kurai2_tbl[];
|
||||
extern u_char num1tbl[];
|
||||
extern u_char num2tbl[];
|
||||
extern u_char num3tbl[];
|
||||
extern u_char num4tbl[];
|
||||
extern u_char num5tbl[];
|
||||
extern u_char num6tbl[];
|
||||
|
||||
/* terminat.c */
|
||||
int terminate(SJ4_CONTEXT TypeCnct, u_char*);
|
||||
|
||||
/* termtbl.c */
|
||||
extern u_char termtbl[];
|
||||
|
||||
/* wakachi.c */
|
||||
void wakachi(SJ4_CONTEXT2);
|
||||
|
||||
#endif /* KANAKAN_H */
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
#define setnspr Jsetnspr
|
||||
#define regetrank Jregetrank
|
||||
|
||||
#ifdef SJ3_GLOBAL
|
||||
#ifdef SJ4_GLOBAL
|
||||
#define work_base Jwork_base
|
||||
#define stdy_base Jstdy_base
|
||||
#else
|
||||
|
|
@ -47,23 +47,23 @@ typedef unsigned short u_short;
|
|||
typedef unsigned int u_int;
|
||||
|
||||
typedef void (*VFunc)(
|
||||
#ifndef SJ3_GLOBAL
|
||||
#ifndef SJ4_GLOBAL
|
||||
void*,
|
||||
#endif
|
||||
void*, void*, void*);
|
||||
typedef u_char* (*UCPFunc)(
|
||||
#ifndef SJ3_GLOBAL
|
||||
#ifndef SJ4_GLOBAL
|
||||
void*,
|
||||
#endif
|
||||
u_char*, u_char*, int);
|
||||
typedef int (*IFunc)(
|
||||
#ifndef SJ3_GLOBAL
|
||||
#ifndef SJ4_GLOBAL
|
||||
void*,
|
||||
#endif
|
||||
void*, int);
|
||||
|
||||
typedef int (*IFuncDict)(
|
||||
#ifndef SJ3_GLOBAL
|
||||
#ifndef SJ4_GLOBAL
|
||||
void*,
|
||||
#endif
|
||||
void*);
|
||||
|
|
@ -37,13 +37,13 @@
|
|||
#ifndef __KCTYPE
|
||||
#define __KCTYPE
|
||||
|
||||
#define sjis2euc sj3_sjis2euc
|
||||
#define jis2sjis sj3_jis2sjis
|
||||
#define euctosjis sj3_euctosjis
|
||||
#define sjis2jis sj3_sjis2jis
|
||||
#define euc2sjis sj3_euc2sjis
|
||||
#define jis2euc sj3_jis2euc
|
||||
#define sjistoeuc sj3_sjistoeuc
|
||||
#define sjis2euc sj4_sjis2euc
|
||||
#define jis2sjis sj4_jis2sjis
|
||||
#define euctosjis sj4_euctosjis
|
||||
#define sjis2jis sj4_sjis2jis
|
||||
#define euc2sjis sj4_euc2sjis
|
||||
#define jis2euc sj4_jis2euc
|
||||
#define sjistoeuc sj4_sjistoeuc
|
||||
|
||||
#ifdef issjis1
|
||||
#undef issjis1
|
||||
|
|
@ -14,8 +14,8 @@
|
|||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef SJ3RKCV_H
|
||||
#define SJ3RKCV_H
|
||||
#ifndef SJ4RKCV_H
|
||||
#define SJ4RKCV_H
|
||||
|
||||
#include "rk.h"
|
||||
|
||||
|
|
@ -43,20 +43,20 @@ typedef struct ymibufrec {
|
|||
wchar16_t* ymiend;
|
||||
struct ymibufrec* ymibufp;
|
||||
} YmibufRec;
|
||||
extern RkTabl* sj3_rcode[MAXCODE];
|
||||
extern RkTablW16* sj3_rcode_w16[MAXCODE];
|
||||
extern RkTabl* sj4_rcode[MAXCODE];
|
||||
extern RkTablW16* sj4_rcode_w16[MAXCODE];
|
||||
extern RkTablW16* rktblp;
|
||||
extern wchar16_t rline[MAXLLEN];
|
||||
extern wchar16_t lstr[MAXLLEN];
|
||||
|
||||
void sj3_rkcode(int);
|
||||
int sj3_rkinit2(char*, int);
|
||||
void sj4_rkcode(int);
|
||||
int sj4_rkinit2(char*, int);
|
||||
int rcode_sjis_init();
|
||||
int rcode_euc_init();
|
||||
int sj3_rkinit(char*);
|
||||
int sj3_rkinit_euc(char*);
|
||||
int sj3_rkinit_mb(char*);
|
||||
int sj3_rkinit_sub(char* rkfile, int (*)());
|
||||
int sj4_rkinit(char*);
|
||||
int sj4_rkinit_euc(char*);
|
||||
int sj4_rkinit_mb(char*);
|
||||
int sj4_rkinit_sub(char* rkfile, int (*)());
|
||||
char* rkgetyomi(char*, wchar16_t*, int*);
|
||||
char* getkey(char*, wchar16_t*, int*);
|
||||
void cltable();
|
||||
|
|
@ -65,33 +65,33 @@ RkTablW16* rkalloc();
|
|||
int stradd(wchar16_t**, wchar16_t*, int);
|
||||
int kstradd(wchar16_t**, wchar16_t*, int);
|
||||
RkTablW16* mktable(wchar16_t*, int);
|
||||
void sj3_rkebell(int);
|
||||
void sj3_rkclear();
|
||||
void sj3_rkreset();
|
||||
void sj3_rkconvc(wchar16_t, u_int*);
|
||||
int sj3_rkconv2(wchar16_t*, u_int*, int);
|
||||
int sj3_rkconv(u_char*, u_char*);
|
||||
int sj3_rkconv_euc(u_char*, u_char*);
|
||||
int sj3_rkconv_mb(u_char*, u_char*);
|
||||
int sj3_rkconv_w16(wchar16_t*, wchar16_t*);
|
||||
void sj4_rkebell(int);
|
||||
void sj4_rkclear();
|
||||
void sj4_rkreset();
|
||||
void sj4_rkconvc(wchar16_t, u_int*);
|
||||
int sj4_rkconv2(wchar16_t*, u_int*, int);
|
||||
int sj4_rkconv(u_char*, u_char*);
|
||||
int sj4_rkconv_euc(u_char*, u_char*);
|
||||
int sj4_rkconv_mb(u_char*, u_char*);
|
||||
int sj4_rkconv_w16(wchar16_t*, wchar16_t*);
|
||||
int rkmatch(wchar16_t*, wchar16_t*, int);
|
||||
|
||||
/* sj3_rkcv.h */
|
||||
/* sj4_rkcv.h */
|
||||
#ifdef ADDHK
|
||||
void setl_hktozh();
|
||||
#endif
|
||||
void mkkigou();
|
||||
int sj_addten(u_short, u_short);
|
||||
int sj_han2zen(u_short);
|
||||
int sj3_hantozen_euc(u_char*, u_char*);
|
||||
int sj3_hantozen_mb(u_char*, u_char*);
|
||||
int sj3_hantozen_w16(wchar16_t*, wchar16_t*);
|
||||
int sj4_hantozen_euc(u_char*, u_char*);
|
||||
int sj4_hantozen_mb(u_char*, u_char*);
|
||||
int sj4_hantozen_w16(wchar16_t*, wchar16_t*);
|
||||
int sj_hantozen(wchar16_t*, wchar16_t*, int);
|
||||
int sj_zen2han(u_short);
|
||||
int sj3_zentohan(u_char*, u_char*);
|
||||
int sj3_zentohan_euc(u_char*, u_char*);
|
||||
int sj3_zentohan_mb(u_char*, u_char*);
|
||||
int sj3_zentohan_w16(wchar16_t*, wchar16_t*);
|
||||
int sj4_zentohan(u_char*, u_char*);
|
||||
int sj4_zentohan_euc(u_char*, u_char*);
|
||||
int sj4_zentohan_mb(u_char*, u_char*);
|
||||
int sj4_zentohan_w16(wchar16_t*, wchar16_t*);
|
||||
int sj_zentohan(wchar16_t*, wchar16_t*, int);
|
||||
int sj_tokata(wchar16_t);
|
||||
int sj_tohira(wchar16_t);
|
||||
|
|
@ -99,26 +99,26 @@ int sj_htok(wchar16_t*, wchar16_t*);
|
|||
int sj_ktoh(wchar16_t*, wchar16_t*);
|
||||
|
||||
/* wc16_str.c */
|
||||
int sj3_iswcntrl16(wchar16_t);
|
||||
int sj3_iswupper16(wchar16_t);
|
||||
int sj3_iswdigit16(wchar16_t);
|
||||
int sj3_iswxdigit16(wchar16_t);
|
||||
int sj3_wslen16(wchar16_t*);
|
||||
int sj3_wscmp16(wchar16_t*, wchar16_t*);
|
||||
int sj3_wsncmp16(wchar16_t*, wchar16_t*, int);
|
||||
wchar16_t* sj3_wscpy16(wchar16_t*, wchar16_t*);
|
||||
wchar16_t* sj3_wsncpy16(wchar16_t*, wchar16_t*, int);
|
||||
wchar16_t* sj3_wscat16(wchar16_t*, wchar16_t*);
|
||||
wchar16_t sj3_euc2wc16(unsigned int);
|
||||
wchar16_t sj3_sjis2wc16(unsigned int);
|
||||
unsigned int sj3_wc2euc16(wchar16_t);
|
||||
unsigned int sj3_wc2sjis16(wchar16_t);
|
||||
int sj3_wcs2eucs16(unsigned char*, wchar16_t*, int);
|
||||
int sj3_wcs2sjiss16(unsigned char*, wchar16_t*, int);
|
||||
int sj3_eucs2wcs16(wchar16_t*, unsigned char*, int);
|
||||
int sj3_sjiss2wcs16(wchar16_t*, unsigned char*, int);
|
||||
int sj3_mbstowcs16(wchar16_t*, unsigned char*, int);
|
||||
int sj3_wcstombs16(unsigned char*, unsigned char*, int);
|
||||
int sj4_iswcntrl16(wchar16_t);
|
||||
int sj4_iswupper16(wchar16_t);
|
||||
int sj4_iswdigit16(wchar16_t);
|
||||
int sj4_iswxdigit16(wchar16_t);
|
||||
int sj4_wslen16(wchar16_t*);
|
||||
int sj4_wscmp16(wchar16_t*, wchar16_t*);
|
||||
int sj4_wsncmp16(wchar16_t*, wchar16_t*, int);
|
||||
wchar16_t* sj4_wscpy16(wchar16_t*, wchar16_t*);
|
||||
wchar16_t* sj4_wsncpy16(wchar16_t*, wchar16_t*, int);
|
||||
wchar16_t* sj4_wscat16(wchar16_t*, wchar16_t*);
|
||||
wchar16_t sj4_euc2wc16(unsigned int);
|
||||
wchar16_t sj4_sjis2wc16(unsigned int);
|
||||
unsigned int sj4_wc2euc16(wchar16_t);
|
||||
unsigned int sj4_wc2sjis16(wchar16_t);
|
||||
int sj4_wcs2eucs16(unsigned char*, wchar16_t*, int);
|
||||
int sj4_wcs2sjiss16(unsigned char*, wchar16_t*, int);
|
||||
int sj4_eucs2wcs16(wchar16_t*, unsigned char*, int);
|
||||
int sj4_sjiss2wcs16(wchar16_t*, unsigned char*, int);
|
||||
int sj4_mbstowcs16(wchar16_t*, unsigned char*, int);
|
||||
int sj4_wcstombs16(unsigned char*, unsigned char*, int);
|
||||
|
||||
/* XXX */
|
||||
extern int current_locale;
|
||||
|
|
@ -61,51 +61,51 @@ typedef unsigned short wchar16_t;
|
|||
#ifdef iswcntrl
|
||||
#undef iswcntrl
|
||||
#endif
|
||||
#define iswcntrl(wc) sj3_iswcntrl16(wc)
|
||||
#define iswcntrl(wc) sj4_iswcntrl16(wc)
|
||||
#ifdef iswupper
|
||||
#undef iswupper
|
||||
#endif
|
||||
#define iswupper(wc) sj3_iswupper16(wc)
|
||||
#define iswupper(wc) sj4_iswupper16(wc)
|
||||
#ifdef iswdigit
|
||||
#undef iswdigit
|
||||
#endif
|
||||
#define iswdigit(wc) sj3_iswdigit16(wc)
|
||||
#define iswdigit(wc) sj4_iswdigit16(wc)
|
||||
#ifdef iswxdigit
|
||||
#undef iswxdigit
|
||||
#endif
|
||||
#define iswxdigit(wc) sj3_iswxdigit16(wc)
|
||||
#define iswxdigit(wc) sj4_iswxdigit16(wc)
|
||||
#ifdef wslen
|
||||
#undef wslen
|
||||
#endif
|
||||
#define wslen(ws) sj3_wslen16(ws)
|
||||
#define wslen(ws) sj4_wslen16(ws)
|
||||
#ifdef wscmp
|
||||
#undef wscmp
|
||||
#endif
|
||||
#define wscmp(ws1, ws2) sj3_wscmp16(ws1, ws2)
|
||||
#define wscmp(ws1, ws2) sj4_wscmp16(ws1, ws2)
|
||||
#ifdef wsncmp
|
||||
#undef wsncmp
|
||||
#endif
|
||||
#define wsncmp(ws1, ws2, n) sj3_wsncmp16(ws1, ws2, n)
|
||||
#define wsncmp(ws1, ws2, n) sj4_wsncmp16(ws1, ws2, n)
|
||||
#ifdef wscpy
|
||||
#undef wscpy
|
||||
#endif
|
||||
#define wscpy(ws1, ws2) sj3_wscpy16(ws1, ws2)
|
||||
#define wscpy(ws1, ws2) sj4_wscpy16(ws1, ws2)
|
||||
#ifdef wsncpy
|
||||
#undef wsncpy
|
||||
#endif
|
||||
#define wsncpy(ws1, ws2, n) sj3_wsncpy16(ws1, ws2, n)
|
||||
#define wsncpy(ws1, ws2, n) sj4_wsncpy16(ws1, ws2, n)
|
||||
#ifdef wscat
|
||||
#undef wscat
|
||||
#endif
|
||||
#define wscat(ws1, ws2) sj3_wscat16(ws1, ws2)
|
||||
#define wscat(ws1, ws2) sj4_wscat16(ws1, ws2)
|
||||
#ifdef mbstowcs
|
||||
#undef mbstowcs
|
||||
#endif
|
||||
#define mbstowcs(mb, ws, n) sj3_mbstowcs16(mb, ws, n)
|
||||
#define mbstowcs(mb, ws, n) sj4_mbstowcs16(mb, ws, n)
|
||||
#ifdef wcstombs
|
||||
#undef wcstombs
|
||||
#endif
|
||||
#define wcstombs(ws, mb, n) sj3_wcstombs16(ws, mb, n)
|
||||
#define wcstombs(ws, mb, n) sj4_wcstombs16(ws, mb, n)
|
||||
#endif
|
||||
|
||||
#define LC_CTYPE_SHIFTJIS 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue