diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d7cb7b..53cfb23 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,25 +1,25 @@ cmake_minimum_required(VERSION 3.11) -project(sj3) +project(sj4) -file(GLOB_RECURSE SJ3CORE_SRCS lib/sj3core/**.c) -add_library(sj3core STATIC ${SJ3CORE_SRCS}) -target_include_directories(sj3core PUBLIC include/sj3common include/sj3core) -target_include_directories(sj3core PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +file(GLOB_RECURSE SJ4CORE_SRCS lib/sj4core/**.c) +add_library(sj4core STATIC ${SJ4CORE_SRCS}) +target_include_directories(sj4core PUBLIC include/sj4common include/sj4core) +target_include_directories(sj4core PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -#file(GLOB_RECURSE SJ3RKCV_SRCS lib/sj3rkcv/**.c) -#add_library(sj3rkcv STATIC ${SJ3RKCV_SRCS}) -#target_include_directories(sj3rkcv PUBLIC include/sj3common include/sj3rkcv) -#target_include_directories(sj3rkcv PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +#file(GLOB_RECURSE SJ4RKCV_SRCS lib/sj4rkcv/**.c) +#add_library(sj4rkcv STATIC ${SJ4RKCV_SRCS}) +#target_include_directories(sj4rkcv PUBLIC include/sj4common include/sj4rkcv) +#target_include_directories(sj4rkcv PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -file(GLOB_RECURSE SJ3MKDIC_SRCS src/sj3mkdic/**.c) -add_executable(sj3mkdic ${SJ3MKDIC_SRCS}) -target_include_directories(sj3mkdic PRIVATE include/sj3common include/sj3core) +file(GLOB_RECURSE SJ4MKDIC_SRCS src/sj4mkdic/**.c) +add_executable(sj4mkdic ${SJ4MKDIC_SRCS}) +target_include_directories(sj4mkdic PRIVATE include/sj4common include/sj4core) -file(GLOB_RECURSE SJ3TEST_SRCS src/sj3test/**.c) -add_executable(sj3test ${SJ3TEST_SRCS}) -target_link_libraries(sj3test PRIVATE sj3core) +file(GLOB_RECURSE SJ4TEST_SRCS src/sj4test/**.c) +add_executable(sj4test ${SJ4TEST_SRCS}) +target_link_libraries(sj4test PRIVATE sj4core) -#target_compile_definitions(sj3core PUBLIC SJ3_GLOBAL) +#target_compile_definitions(sj4core PUBLIC SJ4_GLOBAL) -target_compile_definitions(sj3mkdic PRIVATE UTF8 ENGLISH) +target_compile_definitions(sj4mkdic PRIVATE UTF8 ENGLISH) diff --git a/include/sj3common/sj3err.h b/include/sj3common/sj3err.h deleted file mode 100644 index 0e7c5ad..0000000 --- a/include/sj3common/sj3err.h +++ /dev/null @@ -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 diff --git a/include/sj3core/sj_kanakan.h b/include/sj3core/sj_kanakan.h deleted file mode 100644 index b3beb81..0000000 --- a/include/sj3core/sj_kanakan.h +++ /dev/null @@ -1,357 +0,0 @@ -/* - * Copyright (c) 2004 Iwata - * - * 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 -#include -#include -#include -#include -#ifdef _WIN32 -#include -#else -#include -#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 */ diff --git a/include/sj3common/Const.h b/include/sj4common/Const.h similarity index 95% rename from include/sj3common/Const.h rename to include/sj4common/Const.h index a592248..37e70a1 100644 --- a/include/sj3common/Const.h +++ b/include/sj4common/Const.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" diff --git a/include/sj3common/sj3cmd.h b/include/sj4common/sj4cmd.h similarity index 54% rename from include/sj3common/sj3cmd.h rename to include/sj4common/sj4cmd.h index fd0343a..bfa1013 100644 --- a/include/sj3common/sj3cmd.h +++ b/include/sj4common/sj4cmd.h @@ -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 diff --git a/include/sj4common/sj4err.h b/include/sj4common/sj4err.h new file mode 100644 index 0000000..ded7227 --- /dev/null +++ b/include/sj4common/sj4err.h @@ -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 diff --git a/include/sj3common/sj_const.h b/include/sj4common/sj_const.h similarity index 100% rename from include/sj3common/sj_const.h rename to include/sj4common/sj_const.h diff --git a/include/sj3common/sj_euc.h b/include/sj4common/sj_euc.h similarity index 100% rename from include/sj3common/sj_euc.h rename to include/sj4common/sj_euc.h diff --git a/include/sj3common/sj_hinsi.h b/include/sj4common/sj_hinsi.h similarity index 100% rename from include/sj3common/sj_hinsi.h rename to include/sj4common/sj_hinsi.h diff --git a/include/sj3common/sj_string.h b/include/sj4common/sj_string.h similarity index 65% rename from include/sj3common/sj_string.h rename to include/sj4common/sj_string.h index 6ff0161..823ff69 100644 --- a/include/sj3common/sj_string.h +++ b/include/sj4common/sj_string.h @@ -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 */ diff --git a/include/sj3core/Dict.h b/include/sj4core/Dict.h similarity index 100% rename from include/sj3core/Dict.h rename to include/sj4core/Dict.h diff --git a/include/sj3core/Struct.h b/include/sj4core/Struct.h similarity index 98% rename from include/sj3core/Struct.h rename to include/sj4core/Struct.h index 1e68d80..072474c 100644 --- a/include/sj3core/Struct.h +++ b/include/sj4core/Struct.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 diff --git a/include/sj3core/sj3lowlib.h b/include/sj4core/sj4lowlib.h similarity index 82% rename from include/sj3core/sj3lowlib.h rename to include/sj4core/sj4lowlib.h index af52044..f155126 100644 --- a/include/sj3core/sj3lowlib.h +++ b/include/sj4core/sj4lowlib.h @@ -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 */ diff --git a/include/sj3core/sj_connect.h b/include/sj4core/sj_connect.h similarity index 100% rename from include/sj3core/sj_connect.h rename to include/sj4core/sj_connect.h diff --git a/include/sj3core/sj_const.h b/include/sj4core/sj_const.h similarity index 100% rename from include/sj3core/sj_const.h rename to include/sj4core/sj_const.h diff --git a/include/sj3core/sj_dict.h b/include/sj4core/sj_dict.h similarity index 100% rename from include/sj3core/sj_dict.h rename to include/sj4core/sj_dict.h diff --git a/include/sj3core/sj_global.h b/include/sj4core/sj_global.h similarity index 98% rename from include/sj3core/sj_global.h rename to include/sj4core/sj_global.h index 34f4eac..dde5240 100644 --- a/include/sj3core/sj_global.h +++ b/include/sj4core/sj_global.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 diff --git a/include/sj4core/sj_kanakan.h b/include/sj4core/sj_kanakan.h new file mode 100644 index 0000000..c3703cf --- /dev/null +++ b/include/sj4core/sj_kanakan.h @@ -0,0 +1,357 @@ +/* + * Copyright (c) 2004 Iwata + * + * 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 +#include +#include +#include +#include +#ifdef _WIN32 +#include +#else +#include +#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 */ diff --git a/include/sj3core/sj_kcnv.h b/include/sj4core/sj_kcnv.h similarity index 100% rename from include/sj3core/sj_kcnv.h rename to include/sj4core/sj_kcnv.h diff --git a/include/sj3core/sj_left.h b/include/sj4core/sj_left.h similarity index 100% rename from include/sj3core/sj_left.h rename to include/sj4core/sj_left.h diff --git a/include/sj3core/sj_prty.h b/include/sj4core/sj_prty.h similarity index 100% rename from include/sj3core/sj_prty.h rename to include/sj4core/sj_prty.h diff --git a/include/sj3core/sj_rename.h b/include/sj4core/sj_rename.h similarity index 99% rename from include/sj3core/sj_rename.h rename to include/sj4core/sj_rename.h index b1ba652..13c068a 100644 --- a/include/sj3core/sj_rename.h +++ b/include/sj4core/sj_rename.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 diff --git a/include/sj3core/sj_right.h b/include/sj4core/sj_right.h similarity index 100% rename from include/sj3core/sj_right.h rename to include/sj4core/sj_right.h diff --git a/include/sj3core/sj_struct.h b/include/sj4core/sj_struct.h similarity index 100% rename from include/sj3core/sj_struct.h rename to include/sj4core/sj_struct.h diff --git a/include/sj3core/sj_study.h b/include/sj4core/sj_study.h similarity index 100% rename from include/sj3core/sj_study.h rename to include/sj4core/sj_study.h diff --git a/include/sj3core/sj_suuji.h b/include/sj4core/sj_suuji.h similarity index 100% rename from include/sj3core/sj_suuji.h rename to include/sj4core/sj_suuji.h diff --git a/include/sj3core/sj_table.h b/include/sj4core/sj_table.h similarity index 100% rename from include/sj3core/sj_table.h rename to include/sj4core/sj_table.h diff --git a/include/sj3core/sj_typedef.h b/include/sj4core/sj_typedef.h similarity index 96% rename from include/sj3core/sj_typedef.h rename to include/sj4core/sj_typedef.h index 903b3f8..d1295e0 100644 --- a/include/sj3core/sj_typedef.h +++ b/include/sj4core/sj_typedef.h @@ -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*); diff --git a/include/sj3core/sj_var.h b/include/sj4core/sj_var.h similarity index 100% rename from include/sj3core/sj_var.h rename to include/sj4core/sj_var.h diff --git a/include/sj3core/sj_yomi.h b/include/sj4core/sj_yomi.h similarity index 100% rename from include/sj3core/sj_yomi.h rename to include/sj4core/sj_yomi.h diff --git a/include/sj3rkcv/kana.h b/include/sj4rkcv/kana.h similarity index 100% rename from include/sj3rkcv/kana.h rename to include/sj4rkcv/kana.h diff --git a/include/sj3rkcv/kctype.h b/include/sj4rkcv/kctype.h similarity index 92% rename from include/sj3rkcv/kctype.h rename to include/sj4rkcv/kctype.h index 846c1f7..0606bd1 100644 --- a/include/sj3rkcv/kctype.h +++ b/include/sj4rkcv/kctype.h @@ -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 diff --git a/include/sj3rkcv/key.h b/include/sj4rkcv/key.h similarity index 100% rename from include/sj3rkcv/key.h rename to include/sj4rkcv/key.h diff --git a/include/sj3rkcv/rk.h b/include/sj4rkcv/rk.h similarity index 100% rename from include/sj3rkcv/rk.h rename to include/sj4rkcv/rk.h diff --git a/include/sj3rkcv/sj3rkcv.h b/include/sj4rkcv/sj4rkcv.h similarity index 53% rename from include/sj3rkcv/sj3rkcv.h rename to include/sj4rkcv/sj4rkcv.h index e0cd383..6a6c8e7 100644 --- a/include/sj3rkcv/sj3rkcv.h +++ b/include/sj4rkcv/sj4rkcv.h @@ -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; diff --git a/include/sj3rkcv/wchar16.h b/include/sj4rkcv/wchar16.h similarity index 94% rename from include/sj3rkcv/wchar16.h rename to include/sj4rkcv/wchar16.h index bd0c918..50f423b 100644 --- a/include/sj3rkcv/wchar16.h +++ b/include/sj4rkcv/wchar16.h @@ -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 diff --git a/lib/sj3core/adddic.c b/lib/sj4core/adddic.c similarity index 77% rename from lib/sj3core/adddic.c rename to lib/sj4core/adddic.c index 279dba6..7dc918c 100644 --- a/lib/sj3core/adddic.c +++ b/lib/sj4core/adddic.c @@ -41,13 +41,13 @@ #include "sj_kanakan.h" -static void sprt_seg(SJ3_CONTEXT TypeDicSeg, TypeDicOfs); -static void apnd_uidx(SJ3_CONTEXT TypeDicSeg, u_char*, int); -static int cal_nextym(SJ3_CONTEXT u_char*); -static int usr_freelen(SJ3_CONTEXT2); -static u_int checkdict(SJ3_CONTEXT u_char*, TypeGram); +static void sprt_seg(SJ4_CONTEXT TypeDicSeg, TypeDicOfs); +static void apnd_uidx(SJ4_CONTEXT TypeDicSeg, u_char*, int); +static int cal_nextym(SJ4_CONTEXT u_char*); +static int usr_freelen(SJ4_CONTEXT2); +static u_int checkdict(SJ4_CONTEXT u_char*, TypeGram); -u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { +u_int adddic(SJ4_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { u_int err; u_char yptr[MAXWDYOMILEN + 1]; u_char kptr[MAXWDKANJILEN + 1]; @@ -73,20 +73,20 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { STDYIN* stdy; STDYOUT stdydat; - if((err = addel_arg(SJ3_CONTEXT_PASS yomi, kanji, hinsi, yptr, sizeof(yptr)))) + if((err = addel_arg(SJ4_CONTEXT_PASS yomi, kanji, hinsi, yptr, sizeof(yptr)))) return err; inputyomi = yomi; cnvstart = ystart = yptr; cnvlen = sstrlen(yptr); - if((err = checkdict(SJ3_CONTEXT_PASS kanji, hinsi))) + if((err = checkdict(SJ4_CONTEXT_PASS kanji, hinsi))) return err; if(!curdict->maxunit) return AD_NOTUSERDICT; - klen = cvtknj(SJ3_CONTEXT_PASS yomi, kanji, kptr); + klen = cvtknj(SJ4_CONTEXT_PASS yomi, kanji, kptr); newsiz = DOUONBLKSIZENUMBER + cnvlen + (klen != 0 ? klen + 1 : 0) + 2; @@ -95,11 +95,11 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { if(newsiz > curdict->seglen) return AD_OVFLWDOUBLK; - segnum = srchidx(SJ3_CONTEXT_PASS(TypeDicSeg) DICSEGBASE, cnvlen); + segnum = srchidx(SJ4_CONTEXT_PASS(TypeDicSeg) DICSEGBASE, cnvlen); for(;;) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, segnum); - i = srchkana(SJ3_CONTEXT_PASS & p1, &saml); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, segnum); + i = srchkana(SJ4_CONTEXT_PASS & p1, &saml); dstofs = douofs = p1 - dicbuf; hnsofs = knjofs = 0; if(i) { @@ -120,7 +120,7 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { nlen = cnvlen - saml; newsiz = DOUONBLKSIZENUMBER + nlen; - nxtask = cal_nextym(SJ3_CONTEXT_PASS p1); + nxtask = cal_nextym(SJ4_CONTEXT_PASS p1); } else { oldsiz = newsiz = getsize(p1); nxtask = 0; @@ -129,7 +129,7 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { newsiz += (klen != 0 ? klen + 1 : 0); - fresiz = usr_freelen(SJ3_CONTEXT_PASS2); + fresiz = usr_freelen(SJ4_CONTEXT_PASS2); if((unsigned int)(newsiz - oldsiz - nxtask) <= (unsigned int)fresiz) break; @@ -142,7 +142,7 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { if(curdict->segunit >= curdict->maxunit) return AD_OVFLWUSRDIC; - freidx = count_uidx(SJ3_CONTEXT_PASS2); + freidx = count_uidx(SJ4_CONTEXT_PASS2); if((unsigned int)(douofs + newsiz) <= curdict->seglen) { if(hnsofs) @@ -153,10 +153,10 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { if((unsigned int)freidx < getplen(p1) + nlen + 1) return AD_OVFLWINDEX; - if((*curdict->putdic)(SJ3_CONTEXT_PASS curdict, curdict->segunit)) + if((*curdict->putdic)(SJ4_CONTEXT_PASS curdict, curdict->segunit)) return AD_OVFLWUSRDIC; - sprt_seg(SJ3_CONTEXT_PASS segnum, pos); + sprt_seg(SJ4_CONTEXT_PASS segnum, pos); nxtask = 0; break; @@ -166,16 +166,16 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { if((unsigned int)freidx < cnvlen + 1) return AD_OVFLWINDEX; - if((*curdict->putdic)(SJ3_CONTEXT_PASS curdict, curdict->segunit)) + if((*curdict->putdic)(SJ4_CONTEXT_PASS curdict, curdict->segunit)) return AD_OVFLWUSRDIC; curdict->segunit++; - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, curdict->segunit - 1); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, curdict->segunit - 1); memset(dicbuf, DICSEGTERM, (int)curdict->seglen); dicbuf[0] = 0; - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, curdict->segunit - 1); - (*curdict->rszdic)(SJ3_CONTEXT_PASS curdict, curdict->segunit); - mkidxtbl(SJ3_CONTEXT_PASS curdict); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, curdict->segunit - 1); + (*curdict->rszdic)(SJ4_CONTEXT_PASS curdict, curdict->segunit); + mkidxtbl(SJ4_CONTEXT_PASS curdict); segnum++; } else { @@ -183,10 +183,10 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { if((unsigned int)freidx < getplen(p1) + nlen + 1) return AD_OVFLWINDEX; - if((*curdict->putdic)(SJ3_CONTEXT_PASS curdict, curdict->segunit)) + if((*curdict->putdic)(SJ4_CONTEXT_PASS curdict, curdict->segunit)) return AD_OVFLWUSRDIC; - sprt_seg(SJ3_CONTEXT_PASS segnum, douofs); + sprt_seg(SJ4_CONTEXT_PASS segnum, douofs); segnum++; } @@ -220,7 +220,7 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { if(!hnsofs) { if(douofs == segtop() - dicbuf) { - chg_uidx(SJ3_CONTEXT_PASS segnum, yptr, cnvlen); + chg_uidx(SJ4_CONTEXT_PASS segnum, yptr, cnvlen); } *dstptr = 0; @@ -258,7 +258,7 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { if(!knjofs) *dstptr++ = HINSIBLKTERM; - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, segnum); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, segnum); if(StudyExist()) { size -= nxtask; @@ -275,9 +275,9 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { err = sstrncmp(yptr, (u_char*)ClYomiPos(p1), (int)ClYomiLen(p1)); if(err == MATCH) { - delclsub(SJ3_CONTEXT_PASS p1); - mkclidx(SJ3_CONTEXT_PASS2); - putcldic(SJ3_CONTEXT_PASS2); + delclsub(SJ4_CONTEXT_PASS p1); + mkclidx(SJ4_CONTEXT_PASS2); + putcldic(SJ4_CONTEXT_PASS2); break; } else if(err == OVER) break; @@ -295,13 +295,13 @@ u_int adddic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { stdydat.sttlen = 0; stdydat.sttfg = 0; stdydat.ka_fg = 0; - (void)study(SJ3_CONTEXT_PASS & stdydat); + (void)study(SJ4_CONTEXT_PASS & stdydat); return AD_DONE; } static int -checksub(SJ3_CONTEXT u_char* kanji, TypeGram grm) { +checksub(SJ4_CONTEXT u_char* kanji, TypeGram grm) { u_char* tagp; u_char* ptr; u_char* endp; @@ -313,7 +313,7 @@ checksub(SJ3_CONTEXT u_char* kanji, TypeGram grm) { dicsaml = 0; prevseg = (TypeDicSeg)-1; for(;;) { - if(!(tagp = srchdict(SJ3_CONTEXT_PASS tagp))) + if(!(tagp = srchdict(SJ4_CONTEXT_PASS tagp))) return 0; if(cnvlen == getnlen(tagp) + getplen(tagp)) break; @@ -330,7 +330,7 @@ checksub(SJ3_CONTEXT u_char* kanji, TypeGram grm) { flg = (grm == *ptr++); while(*ptr != HINSIBLKTERM) { if(flg) { - buf[getkanji(SJ3_CONTEXT_PASS inputyomi, cnvlen, ptr, buf)] = 0; + buf[getkanji(SJ4_CONTEXT_PASS inputyomi, cnvlen, ptr, buf)] = 0; if(cmpstr(kanji, buf)) return -1; } @@ -345,7 +345,7 @@ checksub(SJ3_CONTEXT u_char* kanji, TypeGram grm) { } static u_int -checkdict(SJ3_CONTEXT u_char* kanji, TypeGram grm) { +checkdict(SJ4_CONTEXT u_char* kanji, TypeGram grm) { DICTL* dp; int dounum = 0; int tmp; @@ -356,7 +356,7 @@ checkdict(SJ3_CONTEXT u_char* kanji, TypeGram grm) { curdict = dp->dict; - if((tmp = checksub(SJ3_CONTEXT_PASS kanji, grm)) < 0) { + if((tmp = checksub(SJ4_CONTEXT_PASS kanji, grm)) < 0) { curdict = tmpdict; return AD_AREXIST; } @@ -372,7 +372,7 @@ checkdict(SJ3_CONTEXT u_char* kanji, TypeGram grm) { } static int -cal_nextym(SJ3_CONTEXT u_char* ptr) { +cal_nextym(SJ4_CONTEXT u_char* ptr) { int count = 0; u_char* src; int len; @@ -394,7 +394,7 @@ cal_nextym(SJ3_CONTEXT u_char* ptr) { } static int -usr_freelen(SJ3_CONTEXT2) { +usr_freelen(SJ4_CONTEXT2) { u_char* ptr; ptr = segtop(); @@ -405,7 +405,7 @@ usr_freelen(SJ3_CONTEXT2) { } static void -sprt_seg(SJ3_CONTEXT TypeDicSeg seg, TypeDicOfs ofs) { +sprt_seg(SJ4_CONTEXT TypeDicSeg seg, TypeDicOfs ofs) { TypeDicSeg s; u_char* pos; u_char* p; @@ -418,13 +418,13 @@ sprt_seg(SJ3_CONTEXT TypeDicSeg seg, TypeDicOfs ofs) { STDYIN* stdy; for(s = curdict->segunit - 1; s >= seg; s--) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, s); - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, s + 1); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, s); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, s + 1); } curdict->segunit++; - (*curdict->rszdic)(SJ3_CONTEXT_PASS curdict, curdict->segunit); + (*curdict->rszdic)(SJ4_CONTEXT_PASS curdict, curdict->segunit); - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, seg + 1); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, seg + 1); pos = dicbuf + ofs; @@ -441,7 +441,7 @@ sprt_seg(SJ3_CONTEXT TypeDicSeg seg, TypeDicOfs ofs) { nlen = getnlen(pos); ylen = (i = getplen(pos)) + (j = nlen); - apnd_uidx(SJ3_CONTEXT_PASS seg, yomi, ylen); + apnd_uidx(SJ4_CONTEXT_PASS seg, yomi, ylen); set_size(segtop(), getsize(pos) + i, 0, ylen); @@ -455,7 +455,7 @@ sprt_seg(SJ3_CONTEXT TypeDicSeg seg, TypeDicOfs ofs) { p += i; memset(p, DICSEGTERM, (dicbuf + curdict->seglen - p)); - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, seg + 1); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, seg + 1); if(StudyExist()) { dicid = curdict->dicid; @@ -473,17 +473,17 @@ sprt_seg(SJ3_CONTEXT TypeDicSeg seg, TypeDicOfs ofs) { } } - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, seg); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, seg); memset(dicbuf + ofs, DICSEGTERM, (int)(curdict->seglen - ofs)); - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, seg); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, seg); } static void -apnd_uidx(SJ3_CONTEXT TypeDicSeg seg, u_char* yomi, int len) { +apnd_uidx(SJ4_CONTEXT TypeDicSeg seg, u_char* yomi, int len) { u_char* p; u_char* q; - p = get_idxptr(SJ3_CONTEXT_PASS seg); + p = get_idxptr(SJ4_CONTEXT_PASS seg); while(*p++); q = idxbuf + curdict->idxlen; @@ -493,7 +493,7 @@ apnd_uidx(SJ3_CONTEXT TypeDicSeg seg, u_char* yomi, int len) { *p++ = *yomi++; *p = 0; - (*curdict->putidx)(SJ3_CONTEXT_PASS curdict, 0); + (*curdict->putidx)(SJ4_CONTEXT_PASS curdict, 0); - mkidxtbl(SJ3_CONTEXT_PASS curdict); + mkidxtbl(SJ4_CONTEXT_PASS curdict); } diff --git a/lib/sj3core/addelcmn.c b/lib/sj4core/addelcmn.c similarity index 92% rename from lib/sj3core/addelcmn.c rename to lib/sj4core/addelcmn.c index fb1d6fd..e4ef2c2 100644 --- a/lib/sj3core/addelcmn.c +++ b/lib/sj4core/addelcmn.c @@ -112,7 +112,7 @@ isgrm(TypeGram gram) { return FALSE; } -u_int addel_arg(SJ3_CONTEXT u_char* yp, u_char* kp, TypeGram grm, u_char* nyp, int len) { +u_int addel_arg(SJ4_CONTEXT u_char* yp, u_char* kp, TypeGram grm, u_char* nyp, int len) { u_short err = 0; if(!sj2cd_str(yp, nyp, len)) err |= AD_BADYOMI; @@ -174,7 +174,7 @@ last_strcmp(u_char* src, u_char* dst) { return (dlen / 2); } -int cvtknj(SJ3_CONTEXT u_char* yomi, u_char* knj, u_char* dst) { +int cvtknj(SJ4_CONTEXT u_char* yomi, u_char* knj, u_char* dst) { u_char kana[MAXWDYOMILEN * 2 + 1]; int len; u_char* keep; @@ -229,7 +229,7 @@ int cvtknj(SJ3_CONTEXT u_char* yomi, u_char* knj, u_char* dst) { return (dst - keep); } -int srchkana(SJ3_CONTEXT u_char** ptr, int* saml) { +int srchkana(SJ4_CONTEXT u_char** ptr, int* saml) { u_char* p; int cmp; int cnt = 0; @@ -242,7 +242,7 @@ int srchkana(SJ3_CONTEXT u_char** ptr, int* saml) { while(!segend(p)) { if(flg == 0) { - cmp = yomicmp(SJ3_CONTEXT_PASS cnvstart, p, &same); + cmp = yomicmp(SJ4_CONTEXT_PASS cnvstart, p, &same); if(cmp == OVER) break; if(cmp == MATCH && *(cnvstart + same) == 0) { @@ -321,20 +321,20 @@ int srchkanji(u_char** dst, u_char* knj, int klen) { } TypeIdxOfs -count_uidx(SJ3_CONTEXT2) { +count_uidx(SJ4_CONTEXT2) { u_char* p; - p = get_idxptr(SJ3_CONTEXT_PASS curdict->segunit - 1); + p = get_idxptr(SJ4_CONTEXT_PASS curdict->segunit - 1); while(*p++); return (curdict->idxlen - (p - idxbuf)); } -void chg_uidx(SJ3_CONTEXT TypeDicSeg seg, u_char* yomi, int len) { +void chg_uidx(SJ4_CONTEXT TypeDicSeg seg, u_char* yomi, int len) { u_char *p, *q; int olen; - p = get_idxptr(SJ3_CONTEXT_PASS seg); + p = get_idxptr(SJ4_CONTEXT_PASS seg); olen = sstrlen(p); @@ -347,7 +347,7 @@ void chg_uidx(SJ3_CONTEXT TypeDicSeg seg, u_char* yomi, int len) { } while(len--) *p++ = *yomi++; - (*curdict->putidx)(SJ3_CONTEXT_PASS curdict, 0); + (*curdict->putidx)(SJ4_CONTEXT_PASS curdict, 0); - mkidxtbl(SJ3_CONTEXT_PASS curdict); + mkidxtbl(SJ4_CONTEXT_PASS curdict); } diff --git a/lib/sj3core/alloc.c b/lib/sj4core/alloc.c similarity index 93% rename from lib/sj3core/alloc.c rename to lib/sj4core/alloc.c index 5332949..1a1ce1c 100644 --- a/lib/sj3core/alloc.c +++ b/lib/sj4core/alloc.c @@ -46,7 +46,7 @@ #define JREC_NUM 128 #define CLREC_NUM 128 -#ifdef SJ3_GLOBAL +#ifdef SJ4_GLOBAL static JREC* jrec = NULL; static CLREC* clrec = NULL; #else @@ -54,7 +54,7 @@ static CLREC* clrec = NULL; #define clrec ctx->clrec_free #endif -JREC* alloc_jrec(SJ3_CONTEXT2) { +JREC* alloc_jrec(SJ4_CONTEXT2) { JREC* p; int i; @@ -65,7 +65,7 @@ JREC* alloc_jrec(SJ3_CONTEXT2) { p->jsort = p + 1; p->jsort = NULL; -#ifndef SJ3_GLOBAL +#ifndef SJ4_GLOBAL ctx->jrec_pool = jrec; #endif } @@ -75,7 +75,7 @@ JREC* alloc_jrec(SJ3_CONTEXT2) { return p; } -void free_jrec(SJ3_CONTEXT JREC* p) { +void free_jrec(SJ4_CONTEXT JREC* p) { if(p != NULL) { p->jsort = jrec; jrec = p; @@ -83,7 +83,7 @@ void free_jrec(SJ3_CONTEXT JREC* p) { } CLREC* -alloc_clrec(SJ3_CONTEXT2) { +alloc_clrec(SJ4_CONTEXT2) { CLREC* p; int i; @@ -94,7 +94,7 @@ alloc_clrec(SJ3_CONTEXT2) { p->clsort = p + 1; p->clsort = NULL; -#ifndef SJ3_GLOBAL +#ifndef SJ4_GLOBAL ctx->clrec_pool = clrec; #endif } @@ -104,7 +104,7 @@ alloc_clrec(SJ3_CONTEXT2) { return p; } -void free_clrec(SJ3_CONTEXT CLREC* p) { +void free_clrec(SJ4_CONTEXT CLREC* p) { if(p != NULL) { p->clsort = clrec; clrec = p; diff --git a/lib/sj3core/charsize.c b/lib/sj4core/charsize.c similarity index 100% rename from lib/sj3core/charsize.c rename to lib/sj4core/charsize.c diff --git a/lib/sj3core/chrtbl.c b/lib/sj4core/chrtbl.c similarity index 100% rename from lib/sj3core/chrtbl.c rename to lib/sj4core/chrtbl.c diff --git a/lib/sj3core/cl2knj.c b/lib/sj4core/cl2knj.c similarity index 74% rename from lib/sj3core/cl2knj.c rename to lib/sj4core/cl2knj.c index 90ce5e1..74ee1a9 100644 --- a/lib/sj3core/cl2knj.c +++ b/lib/sj4core/cl2knj.c @@ -37,18 +37,18 @@ #include "sj_kanakan.h" -static CLREC *nextrecblk(SJ3_CONTEXT2), *prevrecblk(SJ3_CONTEXT2); +static CLREC *nextrecblk(SJ4_CONTEXT2), *prevrecblk(SJ4_CONTEXT2); -static void initkbuf(SJ3_CONTEXT u_char*); +static void initkbuf(SJ4_CONTEXT u_char*); -int cl2knj(SJ3_CONTEXT u_char* yomi, int len, u_char* kouho) { +int cl2knj(SJ4_CONTEXT u_char* yomi, int len, u_char* kouho) { u_char* ptr1; u_char* ptr2; int i; khcount = nkhcount = 0; - initkbuf(SJ3_CONTEXT_PASS kouho); + initkbuf(SJ4_CONTEXT_PASS kouho); if(len > MAXCLINPUTLEN * 2) len = MAXCLINPUTLEN * 2; @@ -66,59 +66,59 @@ int cl2knj(SJ3_CONTEXT u_char* yomi, int len, u_char* kouho) { if(!hyomi[0]) return 0; - freework(SJ3_CONTEXT_PASS2); + freework(SJ4_CONTEXT_PASS2); inputyomi = orgyomi; cnvstart = ystart = hyomi; cnvlen = sstrlen(hyomi); - mkjiritu(SJ3_CONTEXT_PASS 0); + mkjiritu(SJ4_CONTEXT_PASS 0); - mkbunsetu(SJ3_CONTEXT_PASS2); + mkbunsetu(SJ4_CONTEXT_PASS2); - if(!maxclptr) wakachi(SJ3_CONTEXT_PASS2); + if(!maxclptr) wakachi(SJ4_CONTEXT_PASS2); jrt1st = maxjptr; clt1st = maxclptr; - mkkouho(SJ3_CONTEXT_PASS2); + mkkouho(SJ4_CONTEXT_PASS2); - getrank(SJ3_CONTEXT_PASS2); + getrank(SJ4_CONTEXT_PASS2); selectid = 1; - cvtclknj(SJ3_CONTEXT_PASS2); + cvtclknj(SJ4_CONTEXT_PASS2); return hzstrlen(inputyomi, (int)clt1st->cllen); } -int nextcl(SJ3_CONTEXT u_char* kouho, int mode) { +int nextcl(SJ4_CONTEXT u_char* kouho, int mode) { CLREC* clptr; - initkbuf(SJ3_CONTEXT_PASS kouho); + initkbuf(SJ4_CONTEXT_PASS kouho); if(!khcount) return 0; if(!mode && (selectid < khcount)) selectid++; - else if((mode < 2) && (clptr = nextrecblk(SJ3_CONTEXT_PASS2))) { + else if((mode < 2) && (clptr = nextrecblk(SJ4_CONTEXT_PASS2))) { selectid = 1; clt1st = clptr; - mkkouho(SJ3_CONTEXT_PASS2); - getrank(SJ3_CONTEXT_PASS2); + mkkouho(SJ4_CONTEXT_PASS2); + getrank(SJ4_CONTEXT_PASS2); } else { - cvtclknj(SJ3_CONTEXT_PASS2); + cvtclknj(SJ4_CONTEXT_PASS2); return 0; } - cvtclknj(SJ3_CONTEXT_PASS2); + cvtclknj(SJ4_CONTEXT_PASS2); return hzstrlen(inputyomi, (int)clt1st->cllen); } static CLREC* -nextrecblk(SJ3_CONTEXT2) { +nextrecblk(SJ4_CONTEXT2) { CLREC* clptr; int keeplen; @@ -132,33 +132,33 @@ nextrecblk(SJ3_CONTEXT2) { return clptr; } -int prevcl(SJ3_CONTEXT u_char* kouho, int mode) { +int prevcl(SJ4_CONTEXT u_char* kouho, int mode) { CLREC* clptr; - initkbuf(SJ3_CONTEXT_PASS kouho); + initkbuf(SJ4_CONTEXT_PASS kouho); if(!khcount) return 0; if(!mode && (selectid > 1)) selectid--; - else if((mode < 2) && (clptr = prevrecblk(SJ3_CONTEXT_PASS2))) { + else if((mode < 2) && (clptr = prevrecblk(SJ4_CONTEXT_PASS2))) { clt1st = clptr; - mkkouho(SJ3_CONTEXT_PASS2); - getrank(SJ3_CONTEXT_PASS2); + mkkouho(SJ4_CONTEXT_PASS2); + getrank(SJ4_CONTEXT_PASS2); selectid = khcount; } else { - cvtclknj(SJ3_CONTEXT_PASS2); + cvtclknj(SJ4_CONTEXT_PASS2); return 0; } - cvtclknj(SJ3_CONTEXT_PASS2); + cvtclknj(SJ4_CONTEXT_PASS2); return hzstrlen(inputyomi, (int)clt1st->cllen); } static CLREC* -prevrecblk(SJ3_CONTEXT2) { +prevrecblk(SJ4_CONTEXT2) { CLREC* clptr; CLREC* keepptr; int keeplen; @@ -182,11 +182,11 @@ prevrecblk(SJ3_CONTEXT2) { } static void -initkbuf(SJ3_CONTEXT u_char* kouho) { +initkbuf(SJ4_CONTEXT u_char* kouho) { kanjitmp = kouho; memset(kanjitmp, 0, sizeof(STDYOUT) + 1); } -int selectnum(SJ3_CONTEXT2) { +int selectnum(SJ4_CONTEXT2) { return selectid; } diff --git a/lib/sj3core/clstudy.c b/lib/sj4core/clstudy.c similarity index 87% rename from lib/sj3core/clstudy.c rename to lib/sj4core/clstudy.c index 47095ab..02658ef 100644 --- a/lib/sj3core/clstudy.c +++ b/lib/sj4core/clstudy.c @@ -37,10 +37,10 @@ #include "sj_kanakan.h" -static u_char *delcldata(SJ3_CONTEXT u_char*), *srchclpos(SJ3_CONTEXT u_char*); -static int delclold(SJ3_CONTEXT2); +static u_char *delcldata(SJ4_CONTEXT u_char*), *srchclpos(SJ4_CONTEXT u_char*); +static int delclold(SJ4_CONTEXT2); -int clstudy(SJ3_CONTEXT u_char* yomi1, u_char* yomi2, STDYOUT* stdy) { +int clstudy(SJ4_CONTEXT u_char* yomi1, u_char* yomi2, STDYOUT* stdy) { u_char ytmp[CLSTDY_TMPLEN]; u_char *dst, *ptr; int ret; @@ -56,7 +56,7 @@ int clstudy(SJ3_CONTEXT u_char* yomi1, u_char* yomi2, STDYOUT* stdy) { if(!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN)) return CLSTUDYYOMIERR; - (void)delcldata(SJ3_CONTEXT_PASS ytmp); + (void)delcldata(SJ4_CONTEXT_PASS ytmp); ret = CLSTUDYNORMEND; } else if(!stdy) @@ -77,15 +77,15 @@ int clstudy(SJ3_CONTEXT u_char* yomi1, u_char* yomi2, STDYOUT* stdy) { if(alen + 1 >= CLSTUDYLEN) return CLSTUDYNOAREA; - blen = CLSTUDYTAIL - delcldata(SJ3_CONTEXT_PASS ytmp) - 1; + blen = CLSTUDYTAIL - delcldata(SJ4_CONTEXT_PASS ytmp) - 1; while(blen < alen) { - if(!(i = delclold(SJ3_CONTEXT_PASS2))) break; + if(!(i = delclold(SJ4_CONTEXT_PASS2))) break; blen += i; } if(blen >= alen) { - dst = srchclpos(SJ3_CONTEXT_PASS ytmp); + dst = srchclpos(SJ4_CONTEXT_PASS ytmp); ptr = CLSTUDYTAIL - alen; mvmemd(ptr, CLSTUDYTAIL, (ptr - dst)); @@ -99,14 +99,14 @@ int clstudy(SJ3_CONTEXT u_char* yomi1, u_char* yomi2, STDYOUT* stdy) { } else ret = CLSTUDYNOAREA; } - mkclidx(SJ3_CONTEXT_PASS2); - putcldic(SJ3_CONTEXT_PASS2); + mkclidx(SJ4_CONTEXT_PASS2); + putcldic(SJ4_CONTEXT_PASS2); return ret; } static u_char* -delcldata(SJ3_CONTEXT u_char* ycode) { +delcldata(SJ4_CONTEXT u_char* ycode) { u_char* tagptr; u_char* ptr1; u_char* ptr2; @@ -125,7 +125,7 @@ delcldata(SJ3_CONTEXT u_char* ycode) { len1--; } if(!*ptr1 || !len1) { - delclsub(SJ3_CONTEXT_PASS tagptr); + delclsub(SJ4_CONTEXT_PASS tagptr); } else { tagptr = ClNextTag(tagptr); } @@ -134,7 +134,7 @@ delcldata(SJ3_CONTEXT u_char* ycode) { return tagptr; } -void delclsub(SJ3_CONTEXT u_char* target) { +void delclsub(SJ4_CONTEXT u_char* target) { u_char* src; int num; int tmp; @@ -164,7 +164,7 @@ void delclsub(SJ3_CONTEXT u_char* target) { } static int -delclold(SJ3_CONTEXT2) { +delclold(SJ4_CONTEXT2) { u_char* tagptr; u_char* target; int num; @@ -187,14 +187,14 @@ delclold(SJ3_CONTEXT2) { if(target) { num = ClBlkLen(tagptr); - delclsub(SJ3_CONTEXT_PASS target); + delclsub(SJ4_CONTEXT_PASS target); } return num; } static u_char* -srchclpos(SJ3_CONTEXT u_char* ycode) { +srchclpos(SJ4_CONTEXT u_char* ycode) { u_char* tagptr; u_char* target; u_char* ptr1; @@ -234,7 +234,7 @@ srchclpos(SJ3_CONTEXT u_char* ycode) { return target ? target : tagptr; } -void mkclidx(SJ3_CONTEXT2) { +void mkclidx(SJ4_CONTEXT2) { u_char* ptr; int num; int st, ed; diff --git a/lib/sj3core/cmpstr.c b/lib/sj4core/cmpstr.c similarity index 100% rename from lib/sj3core/cmpstr.c rename to lib/sj4core/cmpstr.c diff --git a/lib/sj3core/conjunc.c b/lib/sj4core/conjunc.c similarity index 100% rename from lib/sj3core/conjunc.c rename to lib/sj4core/conjunc.c diff --git a/lib/sj3core/connect.c b/lib/sj4core/connect.c similarity index 100% rename from lib/sj3core/connect.c rename to lib/sj4core/connect.c diff --git a/lib/sj3core/cvtclknj.c b/lib/sj4core/cvtclknj.c similarity index 94% rename from lib/sj3core/cvtclknj.c rename to lib/sj4core/cvtclknj.c index 11e946d..c94d9a2 100644 --- a/lib/sj3core/cvtclknj.c +++ b/lib/sj4core/cvtclknj.c @@ -37,7 +37,7 @@ #include "sj_kanakan.h" -void cvtclknj(SJ3_CONTEXT2) { +void cvtclknj(SJ4_CONTEXT2) { KHREC* krec; int i; @@ -51,7 +51,7 @@ void cvtclknj(SJ3_CONTEXT2) { krec++; } - setstyrec(SJ3_CONTEXT_PASS krec); + setstyrec(SJ4_CONTEXT_PASS krec); - cvtkouho(SJ3_CONTEXT_PASS krec); + cvtkouho(SJ4_CONTEXT_PASS krec); } diff --git a/lib/sj3core/cvtdict.c b/lib/sj4core/cvtdict.c similarity index 90% rename from lib/sj3core/cvtdict.c rename to lib/sj4core/cvtdict.c index f83010b..16daf04 100644 --- a/lib/sj3core/cvtdict.c +++ b/lib/sj4core/cvtdict.c @@ -38,7 +38,7 @@ #include "sj_kanakan.h" -void cvtdict(SJ3_CONTEXT KHREC* krec, CLREC* clrec, int flg) { +void cvtdict(SJ4_CONTEXT KHREC* krec, CLREC* clrec, int flg) { TypeDicOfs ofs; u_char* yptr; int jlen; @@ -82,7 +82,7 @@ void cvtdict(SJ3_CONTEXT KHREC* krec, CLREC* clrec, int flg) { if(flg) { - (*Cvtnum_func[krec->mode - 1])(SJ3_CONTEXT_PASS ystart + sttlen, yptr, jrec); + (*Cvtnum_func[krec->mode - 1])(SJ4_CONTEXT_PASS ystart + sttlen, yptr, jrec); yptr += (i = jrec->numlen) * 2; jlen -= i; @@ -107,11 +107,11 @@ void cvtdict(SJ3_CONTEXT KHREC* krec, CLREC* clrec, int flg) { } if(ofs) { - if(seldict(SJ3_CONTEXT_PASS jrec->dicid)) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, jrec->jseg); - get_askknj(SJ3_CONTEXT_PASS2); + if(seldict(SJ4_CONTEXT_PASS jrec->dicid)) { + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, jrec->jseg); + get_askknj(SJ4_CONTEXT_PASS2); kanjitmp += - getkanji(SJ3_CONTEXT_PASS yptr, jlen, dicbuf + ofs, kanjitmp); + getkanji(SJ4_CONTEXT_PASS yptr, jlen, dicbuf + ofs, kanjitmp); yptr += jlen * 2; } else { while(jlen-- > 0) { @@ -137,7 +137,7 @@ void cvtdict(SJ3_CONTEXT KHREC* krec, CLREC* clrec, int flg) { } } -void cvtminasi(SJ3_CONTEXT int len) { +void cvtminasi(SJ4_CONTEXT int len) { u_char* ptr; ptr = inputyomi; @@ -159,7 +159,7 @@ void cvtminasi(SJ3_CONTEXT int len) { } } -void cvtwakachi(SJ3_CONTEXT CLREC* clrec) { +void cvtwakachi(SJ4_CONTEXT CLREC* clrec) { int jlen; u_char* ym; int cnt; diff --git a/lib/sj3core/cvtkanji.c b/lib/sj4core/cvtkanji.c similarity index 86% rename from lib/sj3core/cvtkanji.c rename to lib/sj4core/cvtkanji.c index 91824da..e59d43c 100644 --- a/lib/sj3core/cvtkanji.c +++ b/lib/sj4core/cvtkanji.c @@ -37,7 +37,7 @@ #include "sj_kanakan.h" -void cvtphknj(SJ3_CONTEXT2) { +void cvtphknj(SJ4_CONTEXT2) { int i, j; CLREC* clrec; CLREC* clkp; @@ -50,23 +50,23 @@ void cvtphknj(SJ3_CONTEXT2) { clrec = clt1st; while(clrec) { - if(ph_khtbl(SJ3_CONTEXT_PASS clrec)) clkp = clrec; + if(ph_khtbl(SJ4_CONTEXT_PASS clrec)) clkp = clrec; clrec = clrec->clsort; } if(clkp && stdytop) { if(stdytop->nmflg) - ph_setkouho(SJ3_CONTEXT_PASS clkp, (TypeDicOfs)0, (STDYIN*)0); + ph_setkouho(SJ4_CONTEXT_PASS clkp, (TypeDicOfs)0, (STDYIN*)0); } kouhotbl[0].rank = 1; kanjitmp = kanjibuf + 1; - setstyrec(SJ3_CONTEXT_PASS kouhotbl); + setstyrec(SJ4_CONTEXT_PASS kouhotbl); - cvtkouho(SJ3_CONTEXT_PASS kouhotbl); + cvtkouho(SJ4_CONTEXT_PASS kouhotbl); i = kanjitmp - kanjibuf; if(i < kanjilen) { @@ -87,18 +87,18 @@ void cvtphknj(SJ3_CONTEXT2) { not_enough_memory: - free_clall(SJ3_CONTEXT_PASS clt1st); - free_jall(SJ3_CONTEXT_PASS jrt1st); + free_clall(SJ4_CONTEXT_PASS clt1st); + free_jall(SJ4_CONTEXT_PASS jrt1st); } -void cvtkouho(SJ3_CONTEXT KHREC* krec) { +void cvtkouho(SJ4_CONTEXT KHREC* krec) { CLREC* clrec; clrec = krec->clrec; switch(clrec->jnode->class) { case C_DICT: - cvtdict(SJ3_CONTEXT_PASS krec, clrec, FALSE); + cvtdict(SJ4_CONTEXT_PASS krec, clrec, FALSE); break; case C_N_ARABIA: @@ -111,23 +111,23 @@ void cvtkouho(SJ3_CONTEXT KHREC* krec) { case C_N_KAZULONG: case C_N_KAZULCMA: case C_N_SUUJILONG: - cvtdict(SJ3_CONTEXT_PASS krec, clrec, TRUE); + cvtdict(SJ4_CONTEXT_PASS krec, clrec, TRUE); break; case C_BUNSETU: case C_MINASI: - cvtminasi(SJ3_CONTEXT_PASS(int) clrec->cllen); + cvtminasi(SJ4_CONTEXT_PASS(int) clrec->cllen); break; case C_WAKACHI: - cvtwakachi(SJ3_CONTEXT_PASS clrec); + cvtwakachi(SJ4_CONTEXT_PASS clrec); break; } *kanjitmp++ = 0; } -void setstyrec(SJ3_CONTEXT KHREC* krec) { +void setstyrec(SJ4_CONTEXT KHREC* krec) { JREC* jrec; KHREC* kptr; int ii; diff --git a/lib/sj3core/deldic.c b/lib/sj4core/deldic.c similarity index 74% rename from lib/sj3core/deldic.c rename to lib/sj4core/deldic.c index cdbd9b0..9f084ce 100644 --- a/lib/sj3core/deldic.c +++ b/lib/sj4core/deldic.c @@ -38,12 +38,12 @@ #include "sj_kanakan.h" -static int del_douon(SJ3_CONTEXT TypeDicSeg, u_char*, TypeDicOfs); -static int del_segment(SJ3_CONTEXT TypeDicSeg); -static void del_uidx(SJ3_CONTEXT TypeDicSeg); -static void del_stdy(SJ3_CONTEXT TypeDicSeg, TypeDicOfs, int); +static int del_douon(SJ4_CONTEXT TypeDicSeg, u_char*, TypeDicOfs); +static int del_segment(SJ4_CONTEXT TypeDicSeg); +static void del_uidx(SJ4_CONTEXT TypeDicSeg); +static void del_stdy(SJ4_CONTEXT TypeDicSeg, TypeDicOfs, int); -u_int deldic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { +u_int deldic(SJ4_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { u_char yptr[MAXWDYOMILEN + 1]; u_char kptr[MAXWDKANJILEN + 1]; u_short err; @@ -58,20 +58,20 @@ u_int deldic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { u_char * stp, *edp; int size, len; - if((err = addel_arg(SJ3_CONTEXT_PASS yomi, kanji, hinsi, yptr, sizeof(yptr)))) + if((err = addel_arg(SJ4_CONTEXT_PASS yomi, kanji, hinsi, yptr, sizeof(yptr)))) return err; if(!curdict->maxunit) return AD_NOTUSERDICT; - knjlen = cvtknj(SJ3_CONTEXT_PASS yomi, kanji, kptr); + knjlen = cvtknj(SJ4_CONTEXT_PASS yomi, kanji, kptr); cnvstart = yptr; cnvlen = sstrlen(yptr); - useg = srchidx(SJ3_CONTEXT_PASS(TypeDicSeg) DICSEGBASE, cnvlen); - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, useg); + useg = srchidx(SJ4_CONTEXT_PASS(TypeDicSeg) DICSEGBASE, cnvlen); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, useg); - if(!(dblknum = srchkana(SJ3_CONTEXT_PASS & p1, &samlen))) return AD_NOMIDASI; + if(!(dblknum = srchkana(SJ4_CONTEXT_PASS & p1, &samlen))) return AD_NOMIDASI; if(!(hblknum = srchgram(p1, &p2, hinsi))) return AD_NOHINSI; @@ -85,9 +85,9 @@ u_int deldic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { if(kblknum == 1) { if(hblknum == 1) { if(dblknum == 1) { - return del_segment(SJ3_CONTEXT_PASS useg); + return del_segment(SJ4_CONTEXT_PASS useg); } else { - return del_douon(SJ3_CONTEXT_PASS useg, p1, ofs); + return del_douon(SJ4_CONTEXT_PASS useg, p1, ofs); } } else { stp = p2; @@ -108,15 +108,15 @@ u_int deldic(SJ3_CONTEXT u_char* yomi, u_char* kanji, TypeGram hinsi) { set_size(p1, (int)(getsize(p1) - size), (int)getplen(p1), (int)getnlen(p1)); - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, useg); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, useg); - del_stdy(SJ3_CONTEXT_PASS useg, ofs, size); + del_stdy(SJ4_CONTEXT_PASS useg, ofs, size); return AD_DONE; } static int -del_douon(SJ3_CONTEXT TypeDicSeg seg, u_char* ptr, TypeDicOfs ofs) { +del_douon(SJ4_CONTEXT TypeDicSeg seg, u_char* ptr, TypeDicOfs ofs) { u_char *nxt, *p1, *p2; int size; int nlen, plen, len; @@ -133,7 +133,7 @@ del_douon(SJ3_CONTEXT TypeDicSeg seg, u_char* ptr, TypeDicOfs ofs) { plen = getplen(nxt); if(ptr == segtop()) { - if(nlen + plen > (unsigned int)count_uidx(SJ3_CONTEXT_PASS2) + sstrlen(get_idxptr(SJ3_CONTEXT_PASS seg))) + if(nlen + plen > (unsigned int)count_uidx(SJ4_CONTEXT_PASS2) + sstrlen(get_idxptr(SJ4_CONTEXT_PASS seg))) return AD_OVFLWINDEX; } @@ -150,19 +150,19 @@ del_douon(SJ3_CONTEXT TypeDicSeg seg, u_char* ptr, TypeDicOfs ofs) { memset(dicbuf + curdict->seglen - size, DICSEGTERM, size); if(ptr == segtop()) { - chg_uidx(SJ3_CONTEXT_PASS seg, ptr + DOUONBLKSIZENUMBER, nlen + len); + chg_uidx(SJ4_CONTEXT_PASS seg, ptr + DOUONBLKSIZENUMBER, nlen + len); } } - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, seg); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, seg); - del_stdy(SJ3_CONTEXT_PASS seg, ofs, size); + del_stdy(SJ4_CONTEXT_PASS seg, ofs, size); return AD_DONE; } static int -del_segment(SJ3_CONTEXT TypeDicSeg seg) { +del_segment(SJ4_CONTEXT TypeDicSeg seg) { int i; STDYIN* styp; TypeDicID dicid; @@ -171,19 +171,19 @@ del_segment(SJ3_CONTEXT TypeDicSeg seg) { if(curdict->segunit > 1) { for(sg = seg + 1; sg < curdict->segunit; sg++) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, sg); - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, sg - 1); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, sg); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, sg - 1); } curdict->segunit--; } else { memset(dicbuf, DICSEGTERM, (int)curdict->seglen); dicbuf[0] = 0; - (*curdict->putdic)(SJ3_CONTEXT_PASS curdict, DICSEGBASE); + (*curdict->putdic)(SJ4_CONTEXT_PASS curdict, DICSEGBASE); } - (*curdict->rszdic)(SJ3_CONTEXT_PASS curdict, curdict->segunit); + (*curdict->rszdic)(SJ4_CONTEXT_PASS curdict, curdict->segunit); - del_uidx(SJ3_CONTEXT_PASS seg); + del_uidx(SJ4_CONTEXT_PASS seg); if(StudyExist()) { dicid = curdict->dicid; @@ -208,18 +208,18 @@ del_segment(SJ3_CONTEXT TypeDicSeg seg) { for(i = 0, styp = STUDYDICT; i < STUDYCOUNT; i++, styp++) if(styp->styno > stdynum) styp->styno -= 1; - putstydic(SJ3_CONTEXT_PASS2); + putstydic(SJ4_CONTEXT_PASS2); } return AD_DONE; } static void -del_uidx(SJ3_CONTEXT TypeDicSeg seg) { +del_uidx(SJ4_CONTEXT TypeDicSeg seg) { u_char *p, *q; int len; - p = get_idxptr(SJ3_CONTEXT_PASS seg); + p = get_idxptr(SJ4_CONTEXT_PASS seg); for(q = p; *q++;); mvmemi(q, p, idxbuf + curdict->idxlen - q); @@ -227,13 +227,13 @@ del_uidx(SJ3_CONTEXT TypeDicSeg seg) { len = q - p; memset(idxbuf + curdict->idxlen - len, 0, len); - (*curdict->putidx)(SJ3_CONTEXT_PASS curdict, 0); + (*curdict->putidx)(SJ4_CONTEXT_PASS curdict, 0); - mkidxtbl(SJ3_CONTEXT_PASS curdict); + mkidxtbl(SJ4_CONTEXT_PASS curdict); } static void -del_stdy(SJ3_CONTEXT TypeDicSeg seg, TypeDicOfs ofs, int size) { +del_stdy(SJ4_CONTEXT TypeDicSeg seg, TypeDicOfs ofs, int size) { int i; TypeStyNum stdynum; STDYIN* stdy; @@ -265,6 +265,6 @@ del_stdy(SJ3_CONTEXT TypeDicSeg seg, TypeDicOfs ofs, int size) { for(i = 0, stdy = STUDYDICT; i < STUDYCOUNT; i++, stdy++) if(stdy->styno > stdynum) (stdy->styno)--; - putstydic(SJ3_CONTEXT_PASS2); + putstydic(SJ4_CONTEXT_PASS2); } } diff --git a/lib/sj3core/dict.c b/lib/sj4core/dict.c similarity index 90% rename from lib/sj3core/dict.c rename to lib/sj4core/dict.c index 71d34d5..e393e54 100644 --- a/lib/sj3core/dict.c +++ b/lib/sj4core/dict.c @@ -38,7 +38,7 @@ #include "sj_kanakan.h" -void get_askknj(SJ3_CONTEXT2) { +void get_askknj(SJ4_CONTEXT2) { u_char* p; u_char* q; u_char* r; @@ -68,7 +68,7 @@ void get_askknj(SJ3_CONTEXT2) { } } -int seldict(SJ3_CONTEXT TypeDicID id) { +int seldict(SJ4_CONTEXT TypeDicID id) { DICTL* dp; for(dp = dictlist; dp; dp = dp->next) { @@ -81,9 +81,9 @@ int seldict(SJ3_CONTEXT TypeDicID id) { } u_char* -get_idxptr(SJ3_CONTEXT TypeDicSeg seg) { - (*curdict->getofs)(SJ3_CONTEXT_PASS curdict); - (*curdict->getidx)(SJ3_CONTEXT_PASS curdict); +get_idxptr(SJ4_CONTEXT TypeDicSeg seg) { + (*curdict->getofs)(SJ4_CONTEXT_PASS curdict); + (*curdict->getidx)(SJ4_CONTEXT_PASS curdict); return idxbuf + idxofs[seg]; } diff --git a/lib/sj3core/functbl.c b/lib/sj4core/functbl.c similarity index 100% rename from lib/sj3core/functbl.c rename to lib/sj4core/functbl.c diff --git a/lib/sj3core/fuzoku.c b/lib/sj4core/fuzoku.c similarity index 88% rename from lib/sj3core/fuzoku.c rename to lib/sj4core/fuzoku.c index ed6b51e..7a6682c 100644 --- a/lib/sj3core/fuzoku.c +++ b/lib/sj4core/fuzoku.c @@ -74,7 +74,7 @@ fzkstrcmp(u_char* yptr, u_char* fzkp, int* saml) { return MATCH; } -void setclrec(SJ3_CONTEXT JREC* jrec, u_char* yptr, TypeCnct right) { +void setclrec(SJ4_CONTEXT JREC* jrec, u_char* yptr, TypeCnct right) { CLREC* new; TypeGram hinsi; int len; @@ -83,7 +83,7 @@ void setclrec(SJ3_CONTEXT JREC* jrec, u_char* yptr, TypeCnct right) { if(len > MAXCLINPUTLEN) return; - if(!(new = argclrec(SJ3_CONTEXT_PASS len))) return; + if(!(new = argclrec(SJ4_CONTEXT_PASS len))) return; new->jnode = jrec; new->gobiln = gobilen; @@ -165,7 +165,7 @@ fzkcnct(TypeCnct right, TypeCnct left) { } RECURS -void srchfzk(SJ3_CONTEXT JREC* jrec, u_char* yptr, TypeCnct right, int level) { +void srchfzk(SJ4_CONTEXT JREC* jrec, u_char* yptr, TypeCnct right, int level) { u_char* fzk; int len = 0; int cmp; @@ -177,11 +177,11 @@ void srchfzk(SJ3_CONTEXT JREC* jrec, u_char* yptr, TypeCnct right, int level) { if((level >= MAXFLVL) && !(Chrtbl[*yptr] & FZK_KGU)) return; - if(terminate(SJ3_CONTEXT_PASS right, yptr) && Chrtbl[*yptr] & FZK_KGU) { + if(terminate(SJ4_CONTEXT_PASS right, yptr) && Chrtbl[*yptr] & FZK_KGU) { if(!level) fzk_ka_flg = 0; yptr++; while(Chrtbl[*yptr] & FZK_KGU) yptr++; - setclrec(SJ3_CONTEXT_PASS jrec, yptr, (TypeCnct)R_FZKKGU); + setclrec(SJ4_CONTEXT_PASS jrec, yptr, (TypeCnct)R_FZKKGU); return; } @@ -207,11 +207,11 @@ void srchfzk(SJ3_CONTEXT JREC* jrec, u_char* yptr, TypeCnct right, int level) { next = yptr + len; - if(terminate(SJ3_CONTEXT_PASS rt = FzkRight(fzk), next)) { - setclrec(SJ3_CONTEXT_PASS jrec, next, rt); + if(terminate(SJ4_CONTEXT_PASS rt = FzkRight(fzk), next)) { + setclrec(SJ4_CONTEXT_PASS jrec, next, rt); } - srchfzk(SJ3_CONTEXT_PASS jrec, next, rt, level + 1); + srchfzk(SJ4_CONTEXT_PASS jrec, next, rt, level + 1); } if(len) return; @@ -246,10 +246,10 @@ void srchfzk(SJ3_CONTEXT JREC* jrec, u_char* yptr, TypeCnct right, int level) { next = yptr + len; - if(terminate(SJ3_CONTEXT_PASS rt = FzkRight(fzk), next)) { - setclrec(SJ3_CONTEXT_PASS jrec, next, rt); + if(terminate(SJ4_CONTEXT_PASS rt = FzkRight(fzk), next)) { + setclrec(SJ4_CONTEXT_PASS jrec, next, rt); } - srchfzk(SJ3_CONTEXT_PASS jrec, next, rt, level + 1); + srchfzk(SJ4_CONTEXT_PASS jrec, next, rt, level + 1); } } diff --git a/lib/sj3core/fzkyomi.c b/lib/sj4core/fzkyomi.c similarity index 100% rename from lib/sj3core/fzkyomi.c rename to lib/sj4core/fzkyomi.c diff --git a/lib/sj3core/getkanji.c b/lib/sj4core/getkanji.c similarity index 84% rename from lib/sj3core/getkanji.c rename to lib/sj4core/getkanji.c index 5d608ad..904a986 100644 --- a/lib/sj3core/getkanji.c +++ b/lib/sj4core/getkanji.c @@ -38,7 +38,7 @@ #include "sj_kanakan.h" -static u_char* code2kanji(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg); +static u_char* code2kanji(SJ4_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg); u_char* getkan_none(u_char* s, u_char* d, u_char* ym, int yl, int flg) { @@ -92,13 +92,13 @@ getkan_kata(u_char* s, u_char* d, u_char* ym, int yl, int flg) { } u_char* -getkan_knj(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { - return code2kanji(SJ3_CONTEXT_PASS askknj[*s & KNJASSYUKUMASK], d, ym, yl, flg); +getkan_knj(SJ4_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { + return code2kanji(SJ4_CONTEXT_PASS askknj[*s & KNJASSYUKUMASK], d, ym, yl, flg); } u_char* -getkan_ofs(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { - return code2kanji(SJ3_CONTEXT_PASS dicbuf + ((*s & KANJICODEMASK) << 8) + *(s + 1), +getkan_ofs(SJ4_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { + return code2kanji(SJ4_CONTEXT_PASS dicbuf + ((*s & KANJICODEMASK) << 8) + *(s + 1), d, ym, yl, flg); } @@ -131,7 +131,7 @@ getkan_ascii(u_char* s, u_char* d, u_char* ym, int yl, int flg) { } static u_char* -code2kanji(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { +code2kanji(SJ4_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { int csize; for(;;) { @@ -147,7 +147,7 @@ code2kanji(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { break; case OFFSETASSYUKU: - d = getkan_ofs(SJ3_CONTEXT_PASS s, d, ym, yl, flg); + d = getkan_ofs(SJ4_CONTEXT_PASS s, d, ym, yl, flg); break; case AIATTRIBUTE: @@ -159,7 +159,7 @@ code2kanji(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { break; case KANJIASSYUKU: - d = getkan_knj(SJ3_CONTEXT_PASS s, d, ym, yl, flg); + d = getkan_knj(SJ4_CONTEXT_PASS s, d, ym, yl, flg); break; default: @@ -177,7 +177,7 @@ code2kanji(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { break; case OFFSETASSYUKU: - d = getkan_ofs(SJ3_CONTEXT_PASS s, d, ym, yl, FALSE); + d = getkan_ofs(SJ4_CONTEXT_PASS s, d, ym, yl, FALSE); break; case AIATTRIBUTE: @@ -189,7 +189,7 @@ code2kanji(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { break; case KANJIASSYUKU: - d = getkan_knj(SJ3_CONTEXT_PASS s, d, ym, yl, FALSE); + d = getkan_knj(SJ4_CONTEXT_PASS s, d, ym, yl, FALSE); break; default: @@ -202,10 +202,10 @@ code2kanji(SJ3_CONTEXT u_char* s, u_char* d, u_char* ym, int yl, int flg) { return d; } -int getkanji(SJ3_CONTEXT u_char* ym, int yl, u_char* ptr, u_char* buf) { +int getkanji(SJ4_CONTEXT u_char* ym, int yl, u_char* ptr, u_char* buf) { u_char* q; - q = code2kanji(SJ3_CONTEXT_PASS ptr, buf, ym, yl, TRUE); + q = code2kanji(SJ4_CONTEXT_PASS ptr, buf, ym, yl, TRUE); return q - buf; } diff --git a/lib/sj3core/getrank.c b/lib/sj4core/getrank.c similarity index 88% rename from lib/sj3core/getrank.c rename to lib/sj4core/getrank.c index 7f600f8..14a6c2c 100644 --- a/lib/sj3core/getrank.c +++ b/lib/sj4core/getrank.c @@ -37,36 +37,36 @@ #include "sj_kanakan.h" -static void setstynum(SJ3_CONTEXT2), setnspr(SJ3_CONTEXT KHREC*, STDYIN*), regetrank(SJ3_CONTEXT2); +static void setstynum(SJ4_CONTEXT2), setnspr(SJ4_CONTEXT KHREC*, STDYIN*), regetrank(SJ4_CONTEXT2); -void getrank(SJ3_CONTEXT2) { +void getrank(SJ4_CONTEXT2) { trank = nrank = 1; - setstynum(SJ3_CONTEXT_PASS2); + setstynum(SJ4_CONTEXT_PASS2); - regetrank(SJ3_CONTEXT_PASS2); + regetrank(SJ4_CONTEXT_PASS2); } static void -setstynum(SJ3_CONTEXT2) { +setstynum(SJ4_CONTEXT2) { KHREC* kptr; STDYIN* sptr; int count; for(kptr = kouhotbl, count = khcount; count--; kptr++) { - sptr = srchstdy(SJ3_CONTEXT_PASS kptr->clrec->jnode->jseg, kptr->offs, + sptr = srchstdy(SJ4_CONTEXT_PASS kptr->clrec->jnode->jseg, kptr->offs, kptr->clrec->jnode->dicid); if(!sptr) continue; - setnspr(SJ3_CONTEXT_PASS kptr, sptr); + setnspr(SJ4_CONTEXT_PASS kptr, sptr); } } static void -setnspr(SJ3_CONTEXT KHREC* kptr, STDYIN* sptr) { +setnspr(SJ4_CONTEXT KHREC* kptr, STDYIN* sptr) { KHREC* ptr; int keepnm; TypeStyNum styno; @@ -122,7 +122,7 @@ setnspr(SJ3_CONTEXT KHREC* kptr, STDYIN* sptr) { } static void -regetrank(SJ3_CONTEXT2) { +regetrank(SJ4_CONTEXT2) { KHREC* kptr; int count; int tmp; diff --git a/lib/sj3core/global.c b/lib/sj4core/global.c similarity index 98% rename from lib/sj3core/global.c rename to lib/sj4core/global.c index 56b7712..f53a7a4 100644 --- a/lib/sj3core/global.c +++ b/lib/sj4core/global.c @@ -46,7 +46,7 @@ #include "sj_kanakan.h" -#ifdef SJ3_GLOBAL +#ifdef SJ4_GLOBAL Global* work_base; STDY* stdy_base; diff --git a/lib/sj3core/hzstrlen.c b/lib/sj4core/hzstrlen.c similarity index 100% rename from lib/sj3core/hzstrlen.c rename to lib/sj4core/hzstrlen.c diff --git a/lib/sj3core/init.c b/lib/sj4core/init.c similarity index 84% rename from lib/sj3core/init.c rename to lib/sj4core/init.c index e91944a..ec25b47 100644 --- a/lib/sj3core/init.c +++ b/lib/sj4core/init.c @@ -37,13 +37,13 @@ #include "sj_kanakan.h" -void seg_count(SJ3_CONTEXT DICT* dict) { +void seg_count(SJ4_CONTEXT DICT* dict) { u_char* p; u_char* q; TypeDicSeg segcnt = 0; if(dict->getidx) { - (*dict->getidx)(SJ3_CONTEXT_PASS dict); + (*dict->getidx)(SJ4_CONTEXT_PASS dict); p = idxbuf; q = p + dict->idxlen; @@ -56,7 +56,7 @@ void seg_count(SJ3_CONTEXT DICT* dict) { dict->segunit = (segcnt == 0) ? 1 : segcnt; } -void mkidxtbl(SJ3_CONTEXT DICT* dict) { +void mkidxtbl(SJ4_CONTEXT DICT* dict) { u_char* p; TypeDicSeg seg; @@ -64,8 +64,8 @@ void mkidxtbl(SJ3_CONTEXT DICT* dict) { seg = 0; - (*dict->getidx)(SJ3_CONTEXT_PASS dict); - (*dict->getofs)(SJ3_CONTEXT_PASS dict); + (*dict->getidx)(SJ4_CONTEXT_PASS dict); + (*dict->getofs)(SJ4_CONTEXT_PASS dict); idxofs[0] = 0; for(p = idxbuf; p < idxbuf + dict->idxlen && seg < dict->segunit;) { @@ -74,14 +74,14 @@ void mkidxtbl(SJ3_CONTEXT DICT* dict) { } } -void initwork(SJ3_CONTEXT2) { +void initwork(SJ4_CONTEXT2) { jrt1st = jrt2nd = maxjptr = (JREC*)0; clt1st = clt2nd = maxclptr = (CLREC*)0; } -#ifndef SJ3_GLOBAL -Sj3Context* alloccontext(const char* dic) { - Sj3Context* ctx = calloc(1, sizeof(*ctx)); +#ifndef SJ4_GLOBAL +Sj4Context* alloccontext(const char* dic) { + Sj4Context* ctx = calloc(1, sizeof(*ctx)); DictFile* dict; DICTL* node; @@ -95,6 +95,11 @@ Sj3Context* alloccontext(const char* dic) { dict = opendict(ctx, (char*)dic, ""); + if(dict == NULL){ + free_context(ctx); + return NULL; + } + node->dict = &dict->dict; node->next = NULL; @@ -103,14 +108,14 @@ Sj3Context* alloccontext(const char* dic) { return ctx; } -void free_context(Sj3Context* ctx) { +void free_context(Sj4Context* ctx) { DICTL* node; node = ctx->work->Jdictlist; while(node != NULL) { DICTL* next = node->next; - closedict(ctx, (DictFile*)node->dict); + if(node->dict != NULL) closedict(ctx, (DictFile*)node->dict); free(node); node = next; diff --git a/lib/sj3core/istrcmp.c b/lib/sj4core/istrcmp.c similarity index 100% rename from lib/sj3core/istrcmp.c rename to lib/sj4core/istrcmp.c diff --git a/lib/sj3core/memory.c b/lib/sj4core/memory.c similarity index 85% rename from lib/sj3core/memory.c rename to lib/sj4core/memory.c index fe4f1ef..14f1582 100644 --- a/lib/sj3core/memory.c +++ b/lib/sj4core/memory.c @@ -37,7 +37,7 @@ #include "sj_kanakan.h" -JREC* free_jlst(SJ3_CONTEXT JREC* p) { +JREC* free_jlst(SJ4_CONTEXT JREC* p) { JREC* jpk; JREC* jp; JREC* jn; @@ -57,7 +57,7 @@ JREC* free_jlst(SJ3_CONTEXT JREC* p) { } else { - free_jrec(SJ3_CONTEXT_PASS p); + free_jrec(SJ4_CONTEXT_PASS p); } } @@ -67,7 +67,7 @@ JREC* free_jlst(SJ3_CONTEXT JREC* p) { } CLREC* -free_clst(SJ3_CONTEXT CLREC* p, int l) { +free_clst(SJ4_CONTEXT CLREC* p, int l) { CLREC* cpk; CLREC* cp; CLREC* cn; @@ -97,7 +97,7 @@ free_clst(SJ3_CONTEXT CLREC* p, int l) { else { (p->jnode->count)--; - free_clrec(SJ3_CONTEXT_PASS p); + free_clrec(SJ4_CONTEXT_PASS p); } } @@ -106,31 +106,31 @@ free_clst(SJ3_CONTEXT CLREC* p, int l) { return cpk; } -void free_clall(SJ3_CONTEXT CLREC* p) { +void free_clall(SJ4_CONTEXT CLREC* p) { CLREC* next; while(p) { (p->jnode->count)--; next = p->clsort; - free_clrec(SJ3_CONTEXT_PASS p); + free_clrec(SJ4_CONTEXT_PASS p); p = next; } } -void free_jall(SJ3_CONTEXT JREC* p) { +void free_jall(SJ4_CONTEXT JREC* p) { JREC* next; while(p) { next = p->jsort; - free_jrec(SJ3_CONTEXT_PASS p); + free_jrec(SJ4_CONTEXT_PASS p); p = next; } } -void freework(SJ3_CONTEXT2) { - free_clall(SJ3_CONTEXT_PASS maxclptr); +void freework(SJ4_CONTEXT2) { + free_clall(SJ4_CONTEXT_PASS maxclptr); clt1st = maxclptr = NULL; - free_jall(SJ3_CONTEXT_PASS maxjptr); + free_jall(SJ4_CONTEXT_PASS maxjptr); jrt1st = maxjptr = NULL; } diff --git a/lib/sj3core/mk2claus.c b/lib/sj4core/mk2claus.c similarity index 82% rename from lib/sj3core/mk2claus.c rename to lib/sj4core/mk2claus.c index 261c799..54d5689 100644 --- a/lib/sj3core/mk2claus.c +++ b/lib/sj4core/mk2claus.c @@ -39,28 +39,28 @@ #include "sj_kanakan.h" static int -set2nd(SJ3_CONTEXT CLREC* clrec) { +set2nd(SJ4_CONTEXT CLREC* clrec) { CLREC* rec2; - mkjiritu(SJ3_CONTEXT_PASS DO_IKKATU | DO_CLSTUDY); + mkjiritu(SJ4_CONTEXT_PASS DO_IKKATU | DO_CLSTUDY); - mkbunsetu(SJ3_CONTEXT_PASS2); + mkbunsetu(SJ4_CONTEXT_PASS2); if(!maxclptr) { - wakachi(SJ3_CONTEXT_PASS2); + wakachi(SJ4_CONTEXT_PASS2); return clrec->cllen; } for(rec2 = maxclptr; rec2; rec2 = rec2->clsort) { - if(terminate(SJ3_CONTEXT_PASS rec2->right, cnvstart + rec2->cllen) != SHU) + if(terminate(SJ4_CONTEXT_PASS rec2->right, cnvstart + rec2->cllen) != SHU) break; } return rec2 ? (clrec->cllen + rec2->cllen) : (clrec->cllen); } -void mk2claus(SJ3_CONTEXT2) { +void mk2claus(SJ4_CONTEXT2) { u_char* keepptr; int keeplen; CLREC* clrec; @@ -79,12 +79,12 @@ void mk2claus(SJ3_CONTEXT2) { selcl = clt1st; if(selcl->right == R_FZKKGU) { - pritiny(SJ3_CONTEXT_PASS2); + pritiny(SJ4_CONTEXT_PASS2); return; } if(cnvlen == selcl->cllen) { - pritiny(SJ3_CONTEXT_PASS2); + pritiny(SJ4_CONTEXT_PASS2); return; } @@ -99,11 +99,11 @@ void mk2claus(SJ3_CONTEXT2) { if(len != clrec->cllen) { if(clt2nd != maxclptr) { - free_clall(SJ3_CONTEXT_PASS maxclptr); - free_jall(SJ3_CONTEXT_PASS maxjptr); + free_clall(SJ4_CONTEXT_PASS maxclptr); + free_jall(SJ4_CONTEXT_PASS maxjptr); } - save2ln = set2nd(SJ3_CONTEXT_PASS clrec); + save2ln = set2nd(SJ4_CONTEXT_PASS clrec); count++; len = clrec->cllen; @@ -117,7 +117,7 @@ void mk2claus(SJ3_CONTEXT2) { if(selcl->cl2len > clrec->cl2len) continue; - prty = priority(SJ3_CONTEXT_PASS clrec) - prty2; + prty = priority(SJ4_CONTEXT_PASS clrec) - prty2; prty2++; @@ -138,16 +138,16 @@ void mk2claus(SJ3_CONTEXT2) { if(clt2nd == maxclptr) continue; - free_clall(SJ3_CONTEXT_PASS clt2nd); - free_jall(SJ3_CONTEXT_PASS jrt2nd); + free_clall(SJ4_CONTEXT_PASS clt2nd); + free_jall(SJ4_CONTEXT_PASS jrt2nd); jrt2nd = maxjptr; clt2nd = maxclptr; } if(clt2nd != maxclptr) { - free_clall(SJ3_CONTEXT_PASS maxclptr); + free_clall(SJ4_CONTEXT_PASS maxclptr); maxclptr = NULL; - free_jall(SJ3_CONTEXT_PASS maxjptr); + free_jall(SJ4_CONTEXT_PASS maxjptr); maxjptr = NULL; } diff --git a/lib/sj3core/mkbunset.c b/lib/sj4core/mkbunset.c similarity index 86% rename from lib/sj3core/mkbunset.c rename to lib/sj4core/mkbunset.c index 837a5d2..7c34fc9 100644 --- a/lib/sj3core/mkbunset.c +++ b/lib/sj4core/mkbunset.c @@ -38,7 +38,7 @@ #include "sj_kanakan.h" -void mkbunsetu(SJ3_CONTEXT2) { +void mkbunsetu(SJ4_CONTEXT2) { JREC* jrec; TypeGram hinsi; u_char* cnj; @@ -65,15 +65,15 @@ void mkbunsetu(SJ3_CONTEXT2) { gobilen = 0; next = cnvstart + jrec->jlen; - if(terminate(SJ3_CONTEXT_PASS right, next)) { + if(terminate(SJ4_CONTEXT_PASS right, next)) { fzk_ka_flg = 0; - setclrec(SJ3_CONTEXT_PASS jrec, next, right); + setclrec(SJ4_CONTEXT_PASS jrec, next, right); } - srchfzk(SJ3_CONTEXT_PASS jrec, next, right, 0); + srchfzk(SJ4_CONTEXT_PASS jrec, next, right, 0); } - else if((count = setconj(SJ3_CONTEXT_PASS hinsi, jrec, crec))) { + else if((count = setconj(SJ4_CONTEXT_PASS hinsi, jrec, crec))) { for(i = count; i-- > 0;) { @@ -81,12 +81,12 @@ void mkbunsetu(SJ3_CONTEXT2) { gobilen = crec[i].len; next = cnvstart + jrec->jlen + gobilen; - if(terminate(SJ3_CONTEXT_PASS right, next)) { + if(terminate(SJ4_CONTEXT_PASS right, next)) { fzk_ka_flg = 0; - setclrec(SJ3_CONTEXT_PASS jrec, next, right); + setclrec(SJ4_CONTEXT_PASS jrec, next, right); } - srchfzk(SJ3_CONTEXT_PASS jrec, next, right, 0); + srchfzk(SJ4_CONTEXT_PASS jrec, next, right, 0); } } @@ -95,12 +95,12 @@ void mkbunsetu(SJ3_CONTEXT2) { } CLREC* -argclrec(SJ3_CONTEXT int len) { +argclrec(SJ4_CONTEXT int len) { CLREC* ptr; CLREC* rec; CLREC* child; - rec = alloc_clrec(SJ3_CONTEXT_PASS2); + rec = alloc_clrec(SJ4_CONTEXT_PASS2); if(!rec) { if(!maxclptr) diff --git a/lib/sj3core/mkjiritu.c b/lib/sj4core/mkjiritu.c similarity index 84% rename from lib/sj3core/mkjiritu.c rename to lib/sj4core/mkjiritu.c index 6c191f7..e05be0a 100644 --- a/lib/sj3core/mkjiritu.c +++ b/lib/sj4core/mkjiritu.c @@ -38,9 +38,9 @@ #include "sj_kanakan.h" -static void dic_mu(SJ3_CONTEXT int), dic_cl(SJ3_CONTEXT2); +static void dic_mu(SJ4_CONTEXT int), dic_cl(SJ4_CONTEXT2); -void mkjiritu(SJ3_CONTEXT int mode) { +void mkjiritu(SJ4_CONTEXT int mode) { u_char chkind1; u_char chkind2; JREC* jrec; @@ -53,25 +53,25 @@ void mkjiritu(SJ3_CONTEXT int mode) { chkind1 = Chrtbl[*cnvstart]; if(chkind1 & DICTOP) { - dic_mu(SJ3_CONTEXT_PASS mode); + dic_mu(SJ4_CONTEXT_PASS mode); } - if(mode & DO_CLSTUDY) dic_cl(SJ3_CONTEXT_PASS2); + if(mode & DO_CLSTUDY) dic_cl(SJ4_CONTEXT_PASS2); - srchnum(SJ3_CONTEXT_PASS2); + srchnum(SJ4_CONTEXT_PASS2); - if(srchhead(SJ3_CONTEXT_PASS2) && cnvlen != headlen) { + if(srchhead(SJ4_CONTEXT_PASS2) && cnvlen != headlen) { cnvstart += headlen; cnvlen -= headlen; chkind2 = Chrtbl[*cnvstart]; if(chkind2 & DICTOP) { - dic_mu(SJ3_CONTEXT_PASS mode); + dic_mu(SJ4_CONTEXT_PASS mode); } if(headcode == SETTOU_DAI) { - srchnum(SJ3_CONTEXT_PASS2); + srchnum(SJ4_CONTEXT_PASS2); } cnvstart -= headlen; @@ -80,12 +80,12 @@ void mkjiritu(SJ3_CONTEXT int mode) { for(jrec = maxjptr; jrec; jrec = jrec->jsort) { if((stb = getstb(jrec->hinsi))) - setubi(SJ3_CONTEXT_PASS jrec, stb); + setubi(SJ4_CONTEXT_PASS jrec, stb); } } static void -dic_mu(SJ3_CONTEXT int mode) { +dic_mu(SJ4_CONTEXT int mode) { u_char* tagp; DICTL* dp; @@ -95,16 +95,16 @@ dic_mu(SJ3_CONTEXT int mode) { dicsaml = 0; prevseg = -1; - while((tagp = srchdict(SJ3_CONTEXT_PASS tagp))) setjrec(SJ3_CONTEXT_PASS tagp, mode); + while((tagp = srchdict(SJ4_CONTEXT_PASS tagp))) setjrec(SJ4_CONTEXT_PASS tagp, mode); } } -JREC* argjrec(SJ3_CONTEXT int len, JREC* rec) { +JREC* argjrec(SJ4_CONTEXT int len, JREC* rec) { JREC* ptr; JREC* jrec; JREC* child; - jrec = alloc_jrec(SJ3_CONTEXT_PASS2); + jrec = alloc_jrec(SJ4_CONTEXT_PASS2); if(!jrec) { if(!maxjptr) return NULL; @@ -156,7 +156,7 @@ JREC* argjrec(SJ3_CONTEXT int len, JREC* rec) { } static void -dic_cl(SJ3_CONTEXT2) { +dic_cl(SJ4_CONTEXT2) { u_char* p; u_short pos; int len; @@ -172,7 +172,7 @@ dic_cl(SJ3_CONTEXT2) { if(cmp == MATCH) { if(!isdpnd(*(cnvstart + len))) { - setcrec(SJ3_CONTEXT_PASS p); + setcrec(SJ4_CONTEXT_PASS p); } } diff --git a/lib/sj3core/mkkouho.c b/lib/sj4core/mkkouho.c similarity index 71% rename from lib/sj3core/mkkouho.c rename to lib/sj4core/mkkouho.c index f5a1e4a..18e35d6 100644 --- a/lib/sj3core/mkkouho.c +++ b/lib/sj4core/mkkouho.c @@ -41,12 +41,12 @@ #include "sj_kanakan.h" -static void getkhtbl(SJ3_CONTEXT CLREC*), cl_kanji(SJ3_CONTEXT JREC*, CLREC*); -static int diffknj(SJ3_CONTEXT JREC*, u_char*, int); -static void cl_numcmn(SJ3_CONTEXT JREC*, CLREC*); -static u_char* makekan(SJ3_CONTEXT u_char*, u_char*, int); +static void getkhtbl(SJ4_CONTEXT CLREC*), cl_kanji(SJ4_CONTEXT JREC*, CLREC*); +static int diffknj(SJ4_CONTEXT JREC*, u_char*, int); +static void cl_numcmn(SJ4_CONTEXT JREC*, CLREC*); +static u_char* makekan(SJ4_CONTEXT u_char*, u_char*, int); -void mkkouho(SJ3_CONTEXT2) { +void mkkouho(SJ4_CONTEXT2) { CLREC* clrec; int keeplen; @@ -57,20 +57,20 @@ void mkkouho(SJ3_CONTEXT2) { clrec = clt1st; do { - getkhtbl(SJ3_CONTEXT_PASS clrec); + getkhtbl(SJ4_CONTEXT_PASS clrec); clrec = clrec->clsort; } while(clrec && (keeplen == clrec->cllen)); } static void -getkhtbl(SJ3_CONTEXT CLREC* clrec) { +getkhtbl(SJ4_CONTEXT CLREC* clrec) { JREC* jrec; jrec = clrec->jnode; switch(jrec->class) { case C_DICT: - cl_kanji(SJ3_CONTEXT_PASS jrec, clrec); + cl_kanji(SJ4_CONTEXT_PASS jrec, clrec); break; case C_N_ARABIA: case C_N_ARACMA: @@ -82,46 +82,46 @@ getkhtbl(SJ3_CONTEXT CLREC* clrec) { case C_N_KAZULONG: case C_N_KAZULCMA: case C_N_SUUJILONG: - cl_numcmn(SJ3_CONTEXT_PASS jrec, clrec); + cl_numcmn(SJ4_CONTEXT_PASS jrec, clrec); break; case C_BUNSETU: break; case C_MINASI: case C_WAKACHI: - setkouho(SJ3_CONTEXT_PASS clrec, (TypeDicOfs)0, 0); + setkouho(SJ4_CONTEXT_PASS clrec, (TypeDicOfs)0, 0); break; } } static void -cl_kanji(SJ3_CONTEXT JREC* jrec, CLREC* clrec) { +cl_kanji(SJ4_CONTEXT JREC* jrec, CLREC* clrec) { u_char* ptr; int kcount = khcount; - if(seldict(SJ3_CONTEXT_PASS jrec->dicid)) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, jrec->jseg); + if(seldict(SJ4_CONTEXT_PASS jrec->dicid)) { + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, jrec->jseg); ptr = dicbuf + jrec->jofsst + 1; - get_askknj(SJ3_CONTEXT_PASS2); + get_askknj(SJ4_CONTEXT_PASS2); while(*ptr != HINSIBLKTERM) { - if(diffknj(SJ3_CONTEXT_PASS jrec, ptr, kcount)) { - setkouho(SJ3_CONTEXT_PASS clrec, (TypeDicOfs)(ptr - dicbuf), 0); + if(diffknj(SJ4_CONTEXT_PASS jrec, ptr, kcount)) { + setkouho(SJ4_CONTEXT_PASS clrec, (TypeDicOfs)(ptr - dicbuf), 0); } ptr = skipkstr(ptr); } } else { - setkouho(SJ3_CONTEXT_PASS clrec, (TypeDicOfs)1, 0); + setkouho(SJ4_CONTEXT_PASS clrec, (TypeDicOfs)1, 0); } } u_char* -makekan_none(SJ3_CONTEXT u_char* s, u_char* d, int flg) { +makekan_none(SJ4_CONTEXT u_char* s, u_char* d, int flg) { return d; } u_char* -makekan_1byte(SJ3_CONTEXT u_char* s, u_char* d, int flg) { +makekan_1byte(SJ4_CONTEXT u_char* s, u_char* d, int flg) { if((*s & KANJIMODEMASK) == ZENHIRAASSYUKU) *d++ = 0x10 | (*s & KNJASSYUKUMASK); else @@ -132,17 +132,17 @@ makekan_1byte(SJ3_CONTEXT u_char* s, u_char* d, int flg) { } u_char* -makekan_knj(SJ3_CONTEXT u_char* s, u_char* d, int flg) { - return makekan(SJ3_CONTEXT_PASS askknj[*s & KNJASSYUKUMASK], d, flg); +makekan_knj(SJ4_CONTEXT u_char* s, u_char* d, int flg) { + return makekan(SJ4_CONTEXT_PASS askknj[*s & KNJASSYUKUMASK], d, flg); } -u_char* makekan_ofs(SJ3_CONTEXT u_char* s, u_char* d, int flg) { - return makekan(SJ3_CONTEXT_PASS dicbuf + ((*s & KANJICODEMASK) << 8) + *(s + 1), +u_char* makekan_ofs(SJ4_CONTEXT u_char* s, u_char* d, int flg) { + return makekan(SJ4_CONTEXT_PASS dicbuf + ((*s & KANJICODEMASK) << 8) + *(s + 1), d, flg); } u_char* -makekan_norm(SJ3_CONTEXT u_char* s, u_char* d, int flg) { +makekan_norm(SJ4_CONTEXT u_char* s, u_char* d, int flg) { u_char c; if(*s != 0) { @@ -159,7 +159,7 @@ makekan_norm(SJ3_CONTEXT u_char* s, u_char* d, int flg) { } u_char* -makekan_ascii(SJ3_CONTEXT u_char* s, u_char* d, int flg) { +makekan_ascii(SJ4_CONTEXT u_char* s, u_char* d, int flg) { u_char c; c = s[1]; @@ -173,7 +173,7 @@ makekan_ascii(SJ3_CONTEXT u_char* s, u_char* d, int flg) { } static u_char* -makekan(SJ3_CONTEXT u_char* s, u_char* d, int flg) { +makekan(SJ4_CONTEXT u_char* s, u_char* d, int flg) { int csize; for(;;) { @@ -181,61 +181,61 @@ makekan(SJ3_CONTEXT u_char* s, u_char* d, int flg) { if(s[csize] == KANJISTREND) { switch(*s & KANJIMODEMASK) { case ZENHIRAASSYUKU: - d = makekan_1byte(SJ3_CONTEXT_PASS s, d, flg); + d = makekan_1byte(SJ4_CONTEXT_PASS s, d, flg); break; case ZENKATAASSYUKU: - d = makekan_1byte(SJ3_CONTEXT_PASS s, d, flg); + d = makekan_1byte(SJ4_CONTEXT_PASS s, d, flg); break; case OFFSETASSYUKU: - d = makekan_ofs(SJ3_CONTEXT_PASS s, d, flg); + d = makekan_ofs(SJ4_CONTEXT_PASS s, d, flg); break; case AIATTRIBUTE: - d = makekan_none(SJ3_CONTEXT_PASS s, d, flg); + d = makekan_none(SJ4_CONTEXT_PASS s, d, flg); break; case LEADINGHANKAKU: - d = makekan_ascii(SJ3_CONTEXT_PASS s, d, flg); + d = makekan_ascii(SJ4_CONTEXT_PASS s, d, flg); break; case KANJIASSYUKU: - d = makekan_knj(SJ3_CONTEXT_PASS s, d, flg); + d = makekan_knj(SJ4_CONTEXT_PASS s, d, flg); break; default: - d = makekan_norm(SJ3_CONTEXT_PASS s, d, flg); + d = makekan_norm(SJ4_CONTEXT_PASS s, d, flg); } break; } else switch(*s & KANJIMODEMASK) { case ZENHIRAASSYUKU: - d = makekan_1byte(SJ3_CONTEXT_PASS s, d, FALSE); + d = makekan_1byte(SJ4_CONTEXT_PASS s, d, FALSE); break; case ZENKATAASSYUKU: - d = makekan_1byte(SJ3_CONTEXT_PASS s, d, FALSE); + d = makekan_1byte(SJ4_CONTEXT_PASS s, d, FALSE); break; case OFFSETASSYUKU: - d = makekan_ofs(SJ3_CONTEXT_PASS s, d, FALSE); + d = makekan_ofs(SJ4_CONTEXT_PASS s, d, FALSE); break; case AIATTRIBUTE: - d = makekan_none(SJ3_CONTEXT_PASS s, d, FALSE); + d = makekan_none(SJ4_CONTEXT_PASS s, d, FALSE); break; case LEADINGHANKAKU: - d = makekan_ascii(SJ3_CONTEXT_PASS s, d, FALSE); + d = makekan_ascii(SJ4_CONTEXT_PASS s, d, FALSE); break; case KANJIASSYUKU: - d = makekan_knj(SJ3_CONTEXT_PASS s, d, FALSE); + d = makekan_knj(SJ4_CONTEXT_PASS s, d, FALSE); break; default: - d = makekan_norm(SJ3_CONTEXT_PASS s, d, FALSE); + d = makekan_norm(SJ4_CONTEXT_PASS s, d, FALSE); } s += codesize(*s); } @@ -304,7 +304,7 @@ sameknj(u_char* p, u_char plen, u_char* q, u_char qlen) { #undef QEND static int -diffknj(SJ3_CONTEXT JREC* jrec, u_char* ptr, int num) { +diffknj(SJ4_CONTEXT JREC* jrec, u_char* ptr, int num) { KHREC* kptr; JREC* jptr; int i; @@ -313,7 +313,7 @@ diffknj(SJ3_CONTEXT JREC* jrec, u_char* ptr, int num) { if(jrec->hinsi == TANKANJI) return TRUE; - makekan(SJ3_CONTEXT_PASS ptr, kbuf1, TRUE); + makekan(SJ4_CONTEXT_PASS ptr, kbuf1, TRUE); for(i = 0, kptr = kouhotbl; i < num; i++, kptr++) { if((jptr = kptr->clrec->jnode) == jrec) @@ -331,7 +331,7 @@ diffknj(SJ3_CONTEXT JREC* jrec, u_char* ptr, int num) { if(jptr->stbofs != jrec->stbofs) continue; - makekan(SJ3_CONTEXT_PASS dicbuf + kptr->offs, kbuf2, TRUE); + makekan(SJ4_CONTEXT_PASS dicbuf + kptr->offs, kbuf2, TRUE); if(sameknj(kbuf1, jrec->jlen, kbuf2, jptr->jlen)) return FALSE; @@ -388,7 +388,7 @@ int sel_sjmode(JREC* jrec) { } static void -cl_numcmn(SJ3_CONTEXT JREC* jrec, CLREC* clrec) { +cl_numcmn(SJ4_CONTEXT JREC* jrec, CLREC* clrec) { u_char* p; int i; u_short j; @@ -403,24 +403,24 @@ cl_numcmn(SJ3_CONTEXT JREC* jrec, CLREC* clrec) { if(jrec->jofsst) { i = sel_sjmode(jrec); - if(seldict(SJ3_CONTEXT_PASS jrec->dicid)) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, jrec->jseg); + if(seldict(SJ4_CONTEXT_PASS jrec->dicid)) { + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, jrec->jseg); p = dicbuf + jrec->jofsst + 1; while(*p != HINSIBLKTERM) { - setkouho(SJ3_CONTEXT_PASS clrec, (TypeDicOfs)(p - dicbuf), i); + setkouho(SJ4_CONTEXT_PASS clrec, (TypeDicOfs)(p - dicbuf), i); p = skipkstr(p); } } else { - setkouho(SJ3_CONTEXT_PASS clrec, (TypeDicOfs)1, i); + setkouho(SJ4_CONTEXT_PASS clrec, (TypeDicOfs)1, i); } } else { tbl = Selsjadrs(jrec->class - C_N_ARABIA); while((j = *tbl++) != SELNUMTERM) { if(!chrck_numtbl(jrec->flags, j)) continue; - setkouho(SJ3_CONTEXT_PASS clrec, (TypeDicOfs)0, (int)SelNumFunc(j)); + setkouho(SJ4_CONTEXT_PASS clrec, (TypeDicOfs)0, (int)SelNumFunc(j)); } } } diff --git a/lib/sj3core/mknumber.c b/lib/sj4core/mknumber.c similarity index 66% rename from lib/sj3core/mknumber.c rename to lib/sj4core/mknumber.c index c936e3b..6614ed3 100644 --- a/lib/sj3core/mknumber.c +++ b/lib/sj4core/mknumber.c @@ -40,7 +40,7 @@ #include "sj_kanakan.h" static int -word2char(SJ3_CONTEXT u_short wd, u_char* tbl, int keta, int flg) { +word2char(SJ4_CONTEXT u_short wd, u_char* tbl, int keta, int flg) { int mask; int num; u_char* src; @@ -72,7 +72,7 @@ word2char(SJ3_CONTEXT u_short wd, u_char* tbl, int keta, int flg) { } static void -words2num(SJ3_CONTEXT u_short* wd, u_char* tbl, int flgc) { +words2num(SJ4_CONTEXT u_short* wd, u_char* tbl, int flgc) { int i; int keta; int flg; @@ -87,7 +87,7 @@ words2num(SJ3_CONTEXT u_short* wd, u_char* tbl, int flgc) { } for(i = NUMWORDBUF; i-- > 0;) { - flg = word2char(SJ3_CONTEXT_PASS * (wd + i), tbl, keta, flg); + flg = word2char(SJ4_CONTEXT_PASS * (wd + i), tbl, keta, flg); if(keta) keta -= 4; } @@ -97,72 +97,72 @@ words2num(SJ3_CONTEXT u_short* wd, u_char* tbl, int flgc) { } } -void num_type00(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type00(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - words2num(SJ3_CONTEXT_PASS num, Num1tbl, FALSE); + words2num(SJ4_CONTEXT_PASS num, Num1tbl, FALSE); } -void num_type01(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type01(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - words2num(SJ3_CONTEXT_PASS num, Num1tbl, FALSE); + words2num(SJ4_CONTEXT_PASS num, Num1tbl, FALSE); } -void num_type02(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type02(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - words2num(SJ3_CONTEXT_PASS num, Num1tbl, TRUE); + words2num(SJ4_CONTEXT_PASS num, Num1tbl, TRUE); } -void num_type03(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type03(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - words2num(SJ3_CONTEXT_PASS num, Num2tbl, FALSE); + words2num(SJ4_CONTEXT_PASS num, Num2tbl, FALSE); } -void num_type04(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type04(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - words2num(SJ3_CONTEXT_PASS num, Num2tbl, FALSE); + words2num(SJ4_CONTEXT_PASS num, Num2tbl, FALSE); } -void num_type05(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type05(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - words2num(SJ3_CONTEXT_PASS num, Num2tbl, TRUE); + words2num(SJ4_CONTEXT_PASS num, Num2tbl, TRUE); } -void num_type06(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type06(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - words2num(SJ3_CONTEXT_PASS num, Num3tbl, FALSE); + words2num(SJ4_CONTEXT_PASS num, Num3tbl, FALSE); } -void num_type07(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type07(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - words2num(SJ3_CONTEXT_PASS num, Num3tbl, FALSE); + words2num(SJ4_CONTEXT_PASS num, Num3tbl, FALSE); } static void -kan_num(SJ3_CONTEXT u_short* wd, u_char* tbl1, u_char* tbl2) { +kan_num(SJ4_CONTEXT u_short* wd, u_char* tbl1, u_char* tbl2) { int ii; u_short tmp; int mask; @@ -217,23 +217,23 @@ kan_num(SJ3_CONTEXT u_short* wd, u_char* tbl1, u_char* tbl2) { } } -void num_type08(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type08(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - kan_num(SJ3_CONTEXT_PASS num, Num2tbl, Num4tbl); + kan_num(SJ4_CONTEXT_PASS num, Num2tbl, Num4tbl); } -void num_type09(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type09(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_short num[NUMWORDBUF]; - setwdnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + setwdnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - kan_num(SJ3_CONTEXT_PASS num, Num3tbl, Num5tbl); + kan_num(SJ4_CONTEXT_PASS num, Num3tbl, Num5tbl); } -void num_type10(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type10(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { int i; for(i = jrec->numlen; i > 0; i--) { @@ -245,7 +245,7 @@ void num_type10(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { } } -void num_type11(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type11(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { int i; int j; @@ -267,7 +267,7 @@ void num_type11(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { } } -void num_type12(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type12(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { int i; int j; @@ -281,7 +281,7 @@ void num_type12(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { } static void -num_kurai(SJ3_CONTEXT u_char* p, int len, u_char* tbl) { +num_kurai(SJ4_CONTEXT u_char* p, int len, u_char* tbl) { int i; int j; u_char tmp; @@ -302,20 +302,20 @@ num_kurai(SJ3_CONTEXT u_char* p, int len, u_char* tbl) { } } -void num_type13(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type13(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_char num[NUMKETALENGTH]; int len; - len = setucnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + len = setucnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - num_kurai(SJ3_CONTEXT_PASS num, len, Num1tbl); + num_kurai(SJ4_CONTEXT_PASS num, len, Num1tbl); } -void num_type14(SJ3_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { +void num_type14(SJ4_CONTEXT u_char* s1, u_char* s2, JREC* jrec) { u_char num[NUMKETALENGTH]; int len; - len = setucnum(SJ3_CONTEXT_PASS s1, (int)jrec->numlen, num); + len = setucnum(SJ4_CONTEXT_PASS s1, (int)jrec->numlen, num); - num_kurai(SJ3_CONTEXT_PASS num, len, Num2tbl); + num_kurai(SJ4_CONTEXT_PASS num, len, Num2tbl); } diff --git a/lib/sj3core/mvmemd.c b/lib/sj4core/mvmemd.c similarity index 100% rename from lib/sj3core/mvmemd.c rename to lib/sj4core/mvmemd.c diff --git a/lib/sj3core/mvmemi.c b/lib/sj4core/mvmemi.c similarity index 100% rename from lib/sj3core/mvmemi.c rename to lib/sj4core/mvmemi.c diff --git a/lib/sj3core/peepdic.c b/lib/sj4core/peepdic.c similarity index 71% rename from lib/sj3core/peepdic.c rename to lib/sj4core/peepdic.c index 159a36f..37ff64c 100644 --- a/lib/sj3core/peepdic.c +++ b/lib/sj4core/peepdic.c @@ -38,26 +38,26 @@ #include "sj_kanakan.h" -static int prev_kanji(SJ3_CONTEXT2), prev_hinsi(SJ3_CONTEXT2), prev_douon(SJ3_CONTEXT2); -static int next_kanji(SJ3_CONTEXT2), next_hinsi(SJ3_CONTEXT2), next_douon(SJ3_CONTEXT2); -static void set_kanji(SJ3_CONTEXT2), set_buf(SJ3_CONTEXT u_char*), add_yomi(SJ3_CONTEXT2); -static void set_idxyomi(SJ3_CONTEXT2); +static int prev_kanji(SJ4_CONTEXT2), prev_hinsi(SJ4_CONTEXT2), prev_douon(SJ4_CONTEXT2); +static int next_kanji(SJ4_CONTEXT2), next_hinsi(SJ4_CONTEXT2), next_douon(SJ4_CONTEXT2); +static void set_kanji(SJ4_CONTEXT2), set_buf(SJ4_CONTEXT u_char*), add_yomi(SJ4_CONTEXT2); +static void set_idxyomi(SJ4_CONTEXT2); static void cd2sjh_chr(u_char ch, u_char* dst); -int getusr(SJ3_CONTEXT u_char* buf) { +int getusr(SJ4_CONTEXT u_char* buf) { int nlen; peepyomi[0] = peepknj[0] = peepgrm = 0; - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, peepidx = DICSEGBASE); - get_askknj(SJ3_CONTEXT_PASS2); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, peepidx = DICSEGBASE); + get_askknj(SJ4_CONTEXT_PASS2); peepdptr = segtop(); if(segend(peepdptr)) return 0; - add_yomi(SJ3_CONTEXT_PASS2); + add_yomi(SJ4_CONTEXT_PASS2); nlen = getnlen(peepdptr); peephptr = peepdptr + DOUONBLKSIZENUMBER + nlen; @@ -66,21 +66,21 @@ int getusr(SJ3_CONTEXT u_char* buf) { peepkptr = peephptr + 1; - set_kanji(SJ3_CONTEXT_PASS2); + set_kanji(SJ4_CONTEXT_PASS2); - set_buf(SJ3_CONTEXT_PASS buf); + set_buf(SJ4_CONTEXT_PASS buf); return -1; } -int nextusr(SJ3_CONTEXT u_char* buf) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, peepidx); - get_askknj(SJ3_CONTEXT_PASS2); +int nextusr(SJ4_CONTEXT u_char* buf) { + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, peepidx); + get_askknj(SJ4_CONTEXT_PASS2); - if(next_kanji(SJ3_CONTEXT_PASS2)) { - set_kanji(SJ3_CONTEXT_PASS2); + if(next_kanji(SJ4_CONTEXT_PASS2)) { + set_kanji(SJ4_CONTEXT_PASS2); - set_buf(SJ3_CONTEXT_PASS buf); + set_buf(SJ4_CONTEXT_PASS buf); return -1; } @@ -88,14 +88,14 @@ int nextusr(SJ3_CONTEXT u_char* buf) { return 0; } -int prevusr(SJ3_CONTEXT u_char* buf) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, peepidx); - get_askknj(SJ3_CONTEXT_PASS2); +int prevusr(SJ4_CONTEXT u_char* buf) { + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, peepidx); + get_askknj(SJ4_CONTEXT_PASS2); - if(prev_kanji(SJ3_CONTEXT_PASS2)) { - set_kanji(SJ3_CONTEXT_PASS2); + if(prev_kanji(SJ4_CONTEXT_PASS2)) { + set_kanji(SJ4_CONTEXT_PASS2); - set_buf(SJ3_CONTEXT_PASS buf); + set_buf(SJ4_CONTEXT_PASS buf); return -1; } @@ -104,16 +104,16 @@ int prevusr(SJ3_CONTEXT u_char* buf) { } static void -set_kanji(SJ3_CONTEXT2) { +set_kanji(SJ4_CONTEXT2) { int len; - len = getkanji(SJ3_CONTEXT_PASS peepyomi, getnlen(peepdptr) + getplen(peepdptr), + len = getkanji(SJ4_CONTEXT_PASS peepyomi, getnlen(peepdptr) + getplen(peepdptr), peepkptr, peepknj); *(peepknj + len) = 0; } static void -set_buf(SJ3_CONTEXT u_char* buf) { +set_buf(SJ4_CONTEXT u_char* buf) { u_char* p; int i, csize; @@ -131,12 +131,12 @@ set_buf(SJ3_CONTEXT u_char* buf) { } static int -prev_kanji(SJ3_CONTEXT2) { +prev_kanji(SJ4_CONTEXT2) { u_char* p1; u_char* p2; p1 = peephptr + 1; - if(peepkptr <= p1) return prev_hinsi(SJ3_CONTEXT_PASS2); + if(peepkptr <= p1) return prev_hinsi(SJ4_CONTEXT_PASS2); p2 = peepkptr; while(p1 < p2) { @@ -148,7 +148,7 @@ prev_kanji(SJ3_CONTEXT2) { } static int -prev_hinsi(SJ3_CONTEXT2) { +prev_hinsi(SJ4_CONTEXT2) { u_char* p1; u_char* p2; int nlen; @@ -156,7 +156,7 @@ prev_hinsi(SJ3_CONTEXT2) { nlen = getnlen(peepdptr); p1 = peepdptr + DOUONBLKSIZENUMBER + nlen; - if(peephptr <= p1) return prev_douon(SJ3_CONTEXT_PASS2); + if(peephptr <= p1) return prev_douon(SJ4_CONTEXT_PASS2); p2 = peephptr; while(p1 < p2) { @@ -177,7 +177,7 @@ prev_hinsi(SJ3_CONTEXT2) { } static int -prev_douon(SJ3_CONTEXT2) { +prev_douon(SJ4_CONTEXT2) { u_char* p1; u_char* p2; int nlen; @@ -185,28 +185,28 @@ prev_douon(SJ3_CONTEXT2) { if(peepdptr <= segtop()) { if(peepidx <= DICSEGBASE) return 0; - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, --peepidx); - get_askknj(SJ3_CONTEXT_PASS2); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, --peepidx); + get_askknj(SJ4_CONTEXT_PASS2); - set_idxyomi(SJ3_CONTEXT_PASS2); + set_idxyomi(SJ4_CONTEXT_PASS2); p1 = segtop(); do { peepdptr = p1; - add_yomi(SJ3_CONTEXT_PASS2); + add_yomi(SJ4_CONTEXT_PASS2); p1 = getntag(p1); } while(!segend(p1)); } else { - set_idxyomi(SJ3_CONTEXT_PASS2); + set_idxyomi(SJ4_CONTEXT_PASS2); p1 = segtop(); p2 = peepdptr; do { peepdptr = p1; - add_yomi(SJ3_CONTEXT_PASS2); + add_yomi(SJ4_CONTEXT_PASS2); p1 = getntag(p1); } while(p1 < p2); @@ -234,12 +234,12 @@ prev_douon(SJ3_CONTEXT2) { } static int -next_kanji(SJ3_CONTEXT2) { +next_kanji(SJ4_CONTEXT2) { u_char* p1; p1 = skipkstr(peepkptr); - if(*p1 == HINSIBLKTERM) return next_hinsi(SJ3_CONTEXT_PASS2); + if(*p1 == HINSIBLKTERM) return next_hinsi(SJ4_CONTEXT_PASS2); peepkptr = p1; @@ -247,12 +247,12 @@ next_kanji(SJ3_CONTEXT2) { } static int -next_hinsi(SJ3_CONTEXT2) { +next_hinsi(SJ4_CONTEXT2) { u_char* p1; p1 = skiphblk(peephptr); - if(p1 >= getntag(peepdptr)) return next_douon(SJ3_CONTEXT_PASS2); + if(p1 >= getntag(peepdptr)) return next_douon(SJ4_CONTEXT_PASS2); peephptr = p1; @@ -264,7 +264,7 @@ next_hinsi(SJ3_CONTEXT2) { } static int -next_douon(SJ3_CONTEXT2) { +next_douon(SJ4_CONTEXT2) { u_char* p1; int nlen; @@ -272,18 +272,18 @@ next_douon(SJ3_CONTEXT2) { if(segend(p1)) { if(peepidx + 1 < curdict->segunit) { - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, ++peepidx); - get_askknj(SJ3_CONTEXT_PASS2); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, ++peepidx); + get_askknj(SJ4_CONTEXT_PASS2); peepdptr = segtop(); - set_idxyomi(SJ3_CONTEXT_PASS2); + set_idxyomi(SJ4_CONTEXT_PASS2); } else return 0; } else { peepdptr = p1; } - add_yomi(SJ3_CONTEXT_PASS2); + add_yomi(SJ4_CONTEXT_PASS2); nlen = getnlen(peepdptr); peephptr = peepdptr + DOUONBLKSIZENUMBER + nlen; @@ -296,10 +296,10 @@ next_douon(SJ3_CONTEXT2) { } static void -set_idxyomi(SJ3_CONTEXT2) { +set_idxyomi(SJ4_CONTEXT2) { u_char *p1, *p2; - if((p2 = get_idxptr(SJ3_CONTEXT_PASS peepidx))) { + if((p2 = get_idxptr(SJ4_CONTEXT_PASS peepidx))) { p1 = peepyomi; while(*p2) { cd2sjh_chr(*p2++, p1); @@ -310,7 +310,7 @@ set_idxyomi(SJ3_CONTEXT2) { } static void -add_yomi(SJ3_CONTEXT2) { +add_yomi(SJ4_CONTEXT2) { int nlen; u_char *p1, *p2; diff --git a/lib/sj3core/ph2knj.c b/lib/sj4core/ph2knj.c similarity index 81% rename from lib/sj3core/ph2knj.c rename to lib/sj4core/ph2knj.c index ec7a95a..0c03b03 100644 --- a/lib/sj3core/ph2knj.c +++ b/lib/sj4core/ph2knj.c @@ -38,7 +38,7 @@ #include "sj_kanakan.h" -int ph2knj(SJ3_CONTEXT u_char* zyomi, u_char* kanji, int knjlen) { +int ph2knj(SJ4_CONTEXT u_char* zyomi, u_char* kanji, int knjlen) { u_char* ptr; u_char* dst; int i; @@ -52,7 +52,7 @@ int ph2knj(SJ3_CONTEXT u_char* zyomi, u_char* kanji, int knjlen) { } *dst = 0; - freework(SJ3_CONTEXT_PASS2); + freework(SJ4_CONTEXT_PASS2); prevclgrm = 0; prevclrow = 0; @@ -68,38 +68,38 @@ int ph2knj(SJ3_CONTEXT u_char* zyomi, u_char* kanji, int knjlen) { while(cnvlen && kanjilen) { if(!clt1st) { - mkjiritu(SJ3_CONTEXT_PASS DO_CLSTUDY | DO_IKKATU); + mkjiritu(SJ4_CONTEXT_PASS DO_CLSTUDY | DO_IKKATU); - mkbunsetu(SJ3_CONTEXT_PASS2); + mkbunsetu(SJ4_CONTEXT_PASS2); - if(!maxclptr) wakachi(SJ3_CONTEXT_PASS2); + if(!maxclptr) wakachi(SJ4_CONTEXT_PASS2); jrt1st = maxjptr; clt1st = maxclptr; } - mk2claus(SJ3_CONTEXT_PASS2); + mk2claus(SJ4_CONTEXT_PASS2); - selclrec(SJ3_CONTEXT_PASS2); + selclrec(SJ4_CONTEXT_PASS2); prevclgrm = selcl->jnode->hinsi; prevclrow = selcl->right; - clt1st = free_clst(SJ3_CONTEXT_PASS clt1st, (int)selcl->cllen); - jrt1st = free_jlst(SJ3_CONTEXT_PASS jrt1st); + clt1st = free_clst(SJ4_CONTEXT_PASS clt1st, (int)selcl->cllen); + jrt1st = free_jlst(SJ4_CONTEXT_PASS jrt1st); cnvstart += selcl->cllen; cnvlen -= selcl->cllen; - cvtphknj(SJ3_CONTEXT_PASS2); + cvtphknj(SJ4_CONTEXT_PASS2); clt1st = clt2nd; jrt1st = jrt2nd; } if(!kanjilen) { - free_clall(SJ3_CONTEXT_PASS clt1st); - free_jall(SJ3_CONTEXT_PASS jrt1st); + free_clall(SJ4_CONTEXT_PASS clt1st); + free_jall(SJ4_CONTEXT_PASS jrt1st); } *kanjipos = 0; diff --git a/lib/sj3core/ph_khtbl.c b/lib/sj4core/ph_khtbl.c similarity index 79% rename from lib/sj3core/ph_khtbl.c rename to lib/sj4core/ph_khtbl.c index 14744cb..549730f 100644 --- a/lib/sj3core/ph_khtbl.c +++ b/lib/sj4core/ph_khtbl.c @@ -38,54 +38,54 @@ #include "sj_kanakan.h" static void -ph_setsty(SJ3_CONTEXT CLREC* clrec) { +ph_setsty(SJ4_CONTEXT CLREC* clrec) { JREC* jrec; TypeDicOfs offset; u_char* ptr; STDYIN* sptr; - if(!seldict(SJ3_CONTEXT_PASS(jrec = clrec->jnode)->dicid)) { + if(!seldict(SJ4_CONTEXT_PASS(jrec = clrec->jnode)->dicid)) { if(!khcount) - ph_setkouho(SJ3_CONTEXT_PASS clrec, (TypeDicOfs)1, (STDYIN*)NULL); + ph_setkouho(SJ4_CONTEXT_PASS clrec, (TypeDicOfs)1, (STDYIN*)NULL); return; } - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, jrec->jseg); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, jrec->jseg); ptr = dicbuf + jrec->jofsst + 1; for(; *ptr != HINSIBLKTERM; ptr = skipkstr(ptr)) { offset = ptr - dicbuf; - sptr = srchstdy(SJ3_CONTEXT_PASS jrec->jseg, offset, jrec->dicid); + sptr = srchstdy(SJ4_CONTEXT_PASS jrec->jseg, offset, jrec->dicid); if(!khcount) { - ph_setkouho(SJ3_CONTEXT_PASS clrec, offset, sptr); + ph_setkouho(SJ4_CONTEXT_PASS clrec, offset, sptr); continue; } if(!sptr) continue; if(sptr->styno < kouhotbl[0].styno) { - ph_setkouho(SJ3_CONTEXT_PASS clrec, offset, sptr); + ph_setkouho(SJ4_CONTEXT_PASS clrec, offset, sptr); } else if(sptr->styno == kouhotbl->styno) { if(!(kouhotbl[0].ka_fg && sptr->ka_kj == kouhotbl[0].ka_kj)) { - ph_setkouho(SJ3_CONTEXT_PASS clrec, offset, sptr); + ph_setkouho(SJ4_CONTEXT_PASS clrec, offset, sptr); } } } } -int ph_khtbl(SJ3_CONTEXT CLREC* clrec) { +int ph_khtbl(SJ4_CONTEXT CLREC* clrec) { JREC* jrec; int flg = FALSE; switch((jrec = clrec->jnode)->class) { case C_DICT: - ph_setsty(SJ3_CONTEXT_PASS clrec); + ph_setsty(SJ4_CONTEXT_PASS clrec); break; case C_N_ARABIA: @@ -99,14 +99,14 @@ int ph_khtbl(SJ3_CONTEXT CLREC* clrec) { case C_N_KAZULCMA: case C_N_SUUJILONG: if(jrec->jofsst) { - ph_setsty(SJ3_CONTEXT_PASS clrec); + ph_setsty(SJ4_CONTEXT_PASS clrec); break; } else flg = TRUE; case C_BUNSETU: case C_MINASI: case C_WAKACHI: - if(!khcount) ph_setkouho(SJ3_CONTEXT_PASS clrec, (TypeDicOfs)0, (STDYIN*)0); + if(!khcount) ph_setkouho(SJ4_CONTEXT_PASS clrec, (TypeDicOfs)0, (STDYIN*)0); break; } diff --git a/lib/sj3core/priority.c b/lib/sj4core/priority.c similarity index 98% rename from lib/sj3core/priority.c rename to lib/sj4core/priority.c index 2cbc470..5a5158f 100644 --- a/lib/sj3core/priority.c +++ b/lib/sj4core/priority.c @@ -94,7 +94,7 @@ sttcnt(TypeGram hinsi1, TypeGram hinsi2) { return 4; } -int priority(SJ3_CONTEXT CLREC* clrec) { +int priority(SJ4_CONTEXT CLREC* clrec) { int prty; CLREC* cl2rec; int keeplen; @@ -234,7 +234,7 @@ finish: return (prty + prev); } -void pritiny(SJ3_CONTEXT2) { +void pritiny(SJ4_CONTEXT2) { CLREC* clrec; int keeplen; int i, prty = 0; diff --git a/lib/sj3core/prtytbl.c b/lib/sj4core/prtytbl.c similarity index 100% rename from lib/sj3core/prtytbl.c rename to lib/sj4core/prtytbl.c diff --git a/lib/sj3core/s2ctbl.c b/lib/sj4core/s2ctbl.c similarity index 100% rename from lib/sj3core/s2ctbl.c rename to lib/sj4core/s2ctbl.c diff --git a/lib/sj3core/sdepend.c b/lib/sj4core/sdepend.c similarity index 84% rename from lib/sj3core/sdepend.c rename to lib/sj4core/sdepend.c index 19cca71..1b1f7e4 100644 --- a/lib/sj3core/sdepend.c +++ b/lib/sj4core/sdepend.c @@ -35,7 +35,7 @@ #include "sj_kcnv.h" #include "Dict.h" -#include "sj3err.h" +#include "sj4err.h" #include "sj_kanakan.h" @@ -88,50 +88,50 @@ Put4byte(u_char* p, long n) { static int fgetfile(FILE* fp, long pos, long len, u_char* p) { if(fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; return ERROR; } if(fread(p, len, 1, fp) != 1) { - serv_errno = SJ3_FileReadError; + serv_errno = SJ4_FileReadError; return ERROR; } - return SJ3_NormalEnd; + return SJ4_NormalEnd; } static int fputfile(FILE* fp, long pos, int len, u_char* p) { if(fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; return ERROR; } if(fwrite(p, len, 1, fp) != 1) { - serv_errno = SJ3_FileWriteError; + serv_errno = SJ4_FileWriteError; return ERROR; } - return SJ3_NormalEnd; + return SJ4_NormalEnd; } static int getfile(int fd, int pos, int len, u_char* p) { if(lseek(fd, pos, L_SET) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; return ERROR; } if(read(fd, p, len) != len) { - serv_errno = SJ3_FileReadError; + serv_errno = SJ4_FileReadError; return ERROR; } - return SJ3_NormalEnd; + return SJ4_NormalEnd; } static int putfile(int fd, int pos, int len, u_char* p) { if(lseek(fd, pos, L_SET) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; return ERROR; } if(write(fd, p, len) != len) { - serv_errno = SJ3_FileWriteError; + serv_errno = SJ4_FileWriteError; return ERROR; } - return SJ3_NormalEnd; + return SJ4_NormalEnd; } static int @@ -160,29 +160,29 @@ search_same_dict(ino_t ino) { } static int -getofs(SJ3_CONTEXT DictFile* dp) { +getofs(SJ4_CONTEXT DictFile* dp) { idxofs = dp->ofsptr; return 0; } static int -getidx(SJ3_CONTEXT DictFile* dp) { +getidx(SJ4_CONTEXT DictFile* dp) { idxbuf = dp->buffer + dp->idxstrt; return 0; } /* XXX: not IFunc */ static int -getdic(SJ3_CONTEXT DictFile* dp, TypeDicSeg seg) { +getdic(SJ4_CONTEXT DictFile* dp, TypeDicSeg seg) { if(seg >= dp->dict.segunit) return -1; dicbuf = dp->buffer + dp->segstrt + dp->dict.seglen * seg; return 0; } static int -putidx(SJ3_CONTEXT DictFile* dp) { +putidx(SJ4_CONTEXT DictFile* dp) { return putfile(dp->fd, dp->idxstrt, dp->dict.idxlen, idxbuf); } /* XXX: not IFunc */ static int -putdic(SJ3_CONTEXT DictFile* dp, TypeDicSeg seg) { +putdic(SJ4_CONTEXT DictFile* dp, TypeDicSeg seg) { u_char* p; long i, j; @@ -210,7 +210,7 @@ putdic(SJ3_CONTEXT DictFile* dp, TypeDicSeg seg) { } /* XXX: not IFunc */ static int -rszdic(SJ3_CONTEXT DictFile* dp, TypeDicSeg seg) { +rszdic(SJ4_CONTEXT DictFile* dp, TypeDicSeg seg) { long i; u_char* p; @@ -235,7 +235,7 @@ rszdic(SJ3_CONTEXT DictFile* dp, TypeDicSeg seg) { } DictFile* -opendict(SJ3_CONTEXT char* name, char* passwd) { +opendict(SJ4_CONTEXT char* name, char* passwd) { FILE* fp; struct stat sbuf; DictFile* dfp; @@ -245,9 +245,9 @@ opendict(SJ3_CONTEXT char* name, char* passwd) { if(stat(name, &sbuf) == ERROR) { if(errno == ENOENT) - serv_errno = SJ3_FileNotExist; + serv_errno = SJ4_FileNotExist; else - serv_errno = SJ3_CannotAccessFile; + serv_errno = SJ4_CannotAccessFile; return NULL; } @@ -258,7 +258,7 @@ opendict(SJ3_CONTEXT char* name, char* passwd) { if((fp = fopen(name, "r+b")) == NULL) { if((fp = fopen(name, "rb")) == NULL) { - serv_errno = SJ3_CannotOpenFile; + serv_errno = SJ4_CannotOpenFile; return NULL; } i = FALSE; @@ -268,21 +268,21 @@ opendict(SJ3_CONTEXT char* name, char* passwd) { if(fgetfile(fp, 0L, sizeof(tmp), tmp) == ERROR) goto error1; if(!check_dictfile(tmp)) { - serv_errno = SJ3_IllegalDictFile; + serv_errno = SJ4_IllegalDictFile; goto error1; } if(!check_passwd(tmp, passwd)) { - serv_errno = SJ3_IncorrectPasswd; + serv_errno = SJ4_IncorrectPasswd; goto error1; } if((dp = (u_char*)malloc((long)sbuf.st_size)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; + serv_errno = SJ4_NotEnoughMemory; goto error1; } if((dfp = (DictFile*)malloc(sizeof(*dfp))) == NULL) { - serv_errno = SJ3_NotEnoughMemory; + serv_errno = SJ4_NotEnoughMemory; goto error2; } memset(dfp, '\0', sizeof(*dfp)); @@ -312,10 +312,10 @@ opendict(SJ3_CONTEXT char* name, char* passwd) { if(i < dfp->dict.maxunit) i = dfp->dict.maxunit; i *= sizeof(TypeIdxOfs); if((dfp->ofsptr = (TypeIdxOfs*)malloc(i)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; + serv_errno = SJ4_NotEnoughMemory; goto error3; } - mkidxtbl(SJ3_CONTEXT_PASS & (dfp->dict)); + mkidxtbl(SJ4_CONTEXT_PASS & (dfp->dict)); dfp->link = dictlink; dictlink = dfp; @@ -332,7 +332,7 @@ error1: return NULL; } -int closedict(SJ3_CONTEXT DictFile* dfp) { +int closedict(SJ4_CONTEXT DictFile* dfp) { DictFile* df; if(--dfp->refcnt > 0) return 0; @@ -356,24 +356,24 @@ int closedict(SJ3_CONTEXT DictFile* dfp) { return 0; } -#ifdef SJ3_LOCK +#ifdef SJ4_LOCK static fd_set zero_fd_set; /* XXX */ #endif void lock_dict(DictFile* p, int fd) { -#ifdef SJ3_LOCK +#ifdef SJ4_LOCK FD_SET(fd, &(p->lock)); #endif } void unlock_dict(DictFile* p, int fd) { -#ifdef SJ3_LOCK +#ifdef SJ4_LOCK FD_CLR(fd, &(p->lock)); #endif } int is_dict_locked(DictFile* p) { -#ifdef SJ3_LOCK +#ifdef SJ4_LOCK return memcmp(&(p->lock), &zero_fd_set, sizeof(zero_fd_set)); #else return 0; @@ -411,9 +411,9 @@ openstdy(char* name, char* passwd) { if(stat(name, &sbuf) == ERROR) { if(errno == ENOENT) - serv_errno = SJ3_FileNotExist; + serv_errno = SJ4_FileNotExist; else - serv_errno = SJ3_CannotAccessFile; + serv_errno = SJ4_CannotAccessFile; return NULL; } @@ -423,12 +423,12 @@ openstdy(char* name, char* passwd) { } if((hd = (u_char*)malloc(HEADERLENGTH + COMMENTLENGTH)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; + serv_errno = SJ4_NotEnoughMemory; return NULL; } if((fp = fopen(name, "r+b")) == NULL) { - serv_errno = SJ3_CannotOpenFile; + serv_errno = SJ4_CannotOpenFile; goto error0; } @@ -436,12 +436,12 @@ openstdy(char* name, char* passwd) { goto error1; if(!check_stdyfile(hd)) { - serv_errno = SJ3_IllegalStdyFile; + serv_errno = SJ4_IllegalStdyFile; goto error1; } if(!check_passwd(hd, passwd)) { - serv_errno = SJ3_IncorrectPasswd; + serv_errno = SJ4_IncorrectPasswd; goto error1; } @@ -457,20 +457,20 @@ openstdy(char* name, char* passwd) { len = sizeof(STDYIN) * stdymax; if((sfp = (StdyFile*)malloc(sizeof(*sfp))) == NULL) { - serv_errno = SJ3_NotEnoughMemory; + serv_errno = SJ4_NotEnoughMemory; goto error1; } memset(sfp, '\0', sizeof(*sfp)); if((sp = (STDYIN*)malloc(len)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; + serv_errno = SJ4_NotEnoughMemory; goto error2; } if((cip = (u_short*)malloc(clidxlen)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; + serv_errno = SJ4_NotEnoughMemory; goto error3; } if((clp = (u_char*)malloc(clstdylen)) == NULL) { - serv_errno = SJ3_NotEnoughMemory; + serv_errno = SJ4_NotEnoughMemory; goto error4; } @@ -538,7 +538,7 @@ int closestdy(StdyFile* sfp) { return 0; } -int putstydic(SJ3_CONTEXT2) { +int putstydic(SJ4_CONTEXT2) { int fd; u_char* hd; StdyFile* sf; @@ -558,7 +558,7 @@ int putstydic(SJ3_CONTEXT2) { return putfile(fd, get4byte(hd + STDYNORMPOS), len, (u_char*)sf->stdy.stdydic); } -int putcldic(SJ3_CONTEXT2) { +int putcldic(SJ4_CONTEXT2) { int fd; u_char* hd; StdyFile* sf; @@ -582,12 +582,12 @@ int makedict(char* path, int idxlen, int seglen, int segnum) { int i; if(idxlen < MINIDXLEN || seglen < MINSEGLEN || segnum < MINSEGNUM) { - serv_errno = SJ3_IllegalParameter; + serv_errno = SJ4_IllegalParameter; return ret; } if(!(fp = fopen(path, "wb"))) { - serv_errno = SJ3_CannotCreateFile; + serv_errno = SJ4_CannotCreateFile; return ret; } memset(tmp, '\0', sizeof(tmp)); @@ -596,12 +596,12 @@ int makedict(char* path, int idxlen, int seglen, int segnum) { put4byte(tmp + DICTIDXPOS, pos); put4byte(tmp + DICTIDXLEN, idxlen); if(fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; goto error; } for(i = 0; i < idxlen; i++) if(putc(0, fp)) { - serv_errno = SJ3_FileWriteError; + serv_errno = SJ4_FileWriteError; goto error; } pos += idxlen; @@ -611,24 +611,24 @@ int makedict(char* path, int idxlen, int seglen, int segnum) { put4byte(tmp + DICTSEGNUM, 1); put4byte(tmp + DICTSEGMAX, segnum); if(fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; goto error; } if(putc(0, fp)) { - serv_errno = SJ3_FileWriteError; + serv_errno = SJ4_FileWriteError; goto error; } for(i = 1; i < seglen; i++) if(putc(0xff, fp) != 0xff) { - serv_errno = SJ3_FileWriteError; + serv_errno = SJ4_FileWriteError; goto error; } - if(fputfile(fp, 0L, sizeof(tmp), tmp) == SJ3_NormalEnd) - ret = SJ3_NormalEnd; + if(fputfile(fp, 0L, sizeof(tmp), tmp) == SJ4_NormalEnd) + ret = SJ4_NormalEnd; error: fclose(fp); - if(ret != SJ3_NormalEnd) unlink(path); + if(ret != SJ4_NormalEnd) unlink(path); return ret; } @@ -644,16 +644,16 @@ int makestdy(char* path, int stynum, int clstep, int cllen) { if(cllen == 0) cllen = MINCLLEN; if(stynum < MINSTYNUM || clstep < MINCLSTEP || cllen < MINCLLEN) { - serv_errno = SJ3_IllegalParameter; + serv_errno = SJ4_IllegalParameter; return ret; } if(stynum > MAXSTYNUM || clstep > MAXCLSTEP || cllen > MAXCLLEN) { - serv_errno = SJ3_IllegalParameter; + serv_errno = SJ4_IllegalParameter; return ret; } if(!(fp = fopen(path, "wb"))) { - serv_errno = SJ3_CannotCreateFile; + serv_errno = SJ4_CannotCreateFile; return ret; } memset(tmp, '\0', sizeof(tmp)); @@ -664,12 +664,12 @@ int makestdy(char* path, int stynum, int clstep, int cllen) { put4byte(tmp + STDYCLIDXLEN, j); put4byte(tmp + STDYCLIDXSTEP, clstep); if(fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; goto error; } for(i = 0; i < j; i++) if(putc(0, fp)) { - serv_errno = SJ3_FileWriteError; + serv_errno = SJ4_FileWriteError; goto error; } pos += j; @@ -677,12 +677,12 @@ int makestdy(char* path, int stynum, int clstep, int cllen) { put4byte(tmp + STDYCLSEGPOS, pos); put4byte(tmp + STDYCLSEGLEN, cllen); if(fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; goto error; } for(i = 0; i < cllen; i++) if(putc(0, fp)) { - serv_errno = SJ3_FileWriteError; + serv_errno = SJ4_FileWriteError; goto error; } pos += cllen; @@ -693,27 +693,27 @@ int makestdy(char* path, int stynum, int clstep, int cllen) { put4byte(tmp + STDYNORMNUM, stynum); put4byte(tmp + STDYNORMCNT, 0); if(fseek(fp, pos, 0) == ERROR) { - serv_errno = SJ3_FileSeekError; + serv_errno = SJ4_FileSeekError; goto error; } for(i = 0; i < j; i++) { if(putc(0, fp)) { - serv_errno = SJ3_FileWriteError; + serv_errno = SJ4_FileWriteError; goto error; } } pos += j; - if(fputfile(fp, 0L, sizeof(tmp), tmp) == SJ3_NormalEnd) - ret = SJ3_NormalEnd; + if(fputfile(fp, 0L, sizeof(tmp), tmp) == SJ4_NormalEnd) + ret = SJ4_NormalEnd; error: fclose(fp); - if(ret != SJ3_NormalEnd) unlink(path); + if(ret != SJ4_NormalEnd) unlink(path); return ret; } -void sj_closeall(SJ3_CONTEXT2) { - while(dictlink) closedict(SJ3_CONTEXT_PASS dictlink); +void sj_closeall(SJ4_CONTEXT2) { + while(dictlink) closedict(SJ4_CONTEXT_PASS dictlink); while(stdylink) closestdy(stdylink); } @@ -722,7 +722,7 @@ int set_dictpass(DictFile* dp, char* pass) { return putfile(dp->fd, 0, HEADERLENGTH + COMMENTLENGTH, dp->buffer); } -int set_stdypass(SJ3_CONTEXT char* pass) { +int set_stdypass(SJ4_CONTEXT char* pass) { StdyFile* sp; sp = (StdyFile*)stdy_base; @@ -740,7 +740,7 @@ int set_dictcmnt(DictFile* dp, char* cmnt) { return putfile(dp->fd, 0, HEADERLENGTH + COMMENTLENGTH, dp->buffer); } -int set_stdycmnt(SJ3_CONTEXT char* cmnt) { +int set_stdycmnt(SJ4_CONTEXT char* cmnt) { StdyFile* sp; sp = (StdyFile*)stdy_base; @@ -748,7 +748,7 @@ int set_stdycmnt(SJ3_CONTEXT char* cmnt) { return putfile(sp->fd, 0, HEADERLENGTH + COMMENTLENGTH, sp->header); } -int get_stdysize(SJ3_CONTEXT int* stynum, int* clstep, int* cllen) { +int get_stdysize(SJ4_CONTEXT int* stynum, int* clstep, int* cllen) { *stynum = STUDYMAX; *clstep = CLSTUDYSTEP; *cllen = CLSTUDYLEN; diff --git a/lib/sj3core/selclrec.c b/lib/sj4core/selclrec.c similarity index 88% rename from lib/sj3core/selclrec.c rename to lib/sj4core/selclrec.c index 2799a24..8d058ec 100644 --- a/lib/sj3core/selclrec.c +++ b/lib/sj4core/selclrec.c @@ -36,7 +36,7 @@ #include "sj_kcnv.h" #include "sj_kanakan.h" -void selclrec(SJ3_CONTEXT2) { +void selclrec(SJ4_CONTEXT2) { int len; CLREC* rec; @@ -77,18 +77,18 @@ void selclrec(SJ3_CONTEXT2) { int klen; u_char ch; - free_clall(SJ3_CONTEXT_PASS clt1st); - free_jall(SJ3_CONTEXT_PASS jrt1st); + free_clall(SJ4_CONTEXT_PASS clt1st); + free_jall(SJ4_CONTEXT_PASS jrt1st); klen = cnvlen; cnvlen = len; ch = *(cnvstart + len); *(cnvstart + len) = 0; - mkjiritu(SJ3_CONTEXT_PASS DO_IKKATU); + mkjiritu(SJ4_CONTEXT_PASS DO_IKKATU); - mkbunsetu(SJ3_CONTEXT_PASS2); - if(!maxclptr) wakachi(SJ3_CONTEXT_PASS2); + mkbunsetu(SJ4_CONTEXT_PASS2); + if(!maxclptr) wakachi(SJ4_CONTEXT_PASS2); jrt1st = maxjptr; selcl = clt1st = maxclptr; @@ -97,8 +97,8 @@ void selclrec(SJ3_CONTEXT2) { *(cnvstart + len) = ch; } - free_clall(SJ3_CONTEXT_PASS clt2nd); + free_clall(SJ4_CONTEXT_PASS clt2nd); clt2nd = NULL; - free_jall(SJ3_CONTEXT_PASS jrt2nd); + free_jall(SJ4_CONTEXT_PASS jrt2nd); jrt2nd = NULL; } diff --git a/lib/sj3core/selsuuji.c b/lib/sj4core/selsuuji.c similarity index 100% rename from lib/sj3core/selsuuji.c rename to lib/sj4core/selsuuji.c diff --git a/lib/sj3core/setconj.c b/lib/sj4core/setconj.c similarity index 98% rename from lib/sj3core/setconj.c rename to lib/sj4core/setconj.c index ac5071b..e9ca834 100644 --- a/lib/sj3core/setconj.c +++ b/lib/sj4core/setconj.c @@ -107,7 +107,7 @@ cnvrow(JREC* rec, TypeCnct row) { return row; } -int setconj(SJ3_CONTEXT TypeGram hinsi, JREC* jrec, CREC* crec) { +int setconj(SJ4_CONTEXT TypeGram hinsi, JREC* jrec, CREC* crec) { u_char* yptr; int cmp; TypeCnct right; diff --git a/lib/sj3core/setjrec.c b/lib/sj4core/setjrec.c similarity index 71% rename from lib/sj3core/setjrec.c rename to lib/sj4core/setjrec.c index 9ec8585..dfc24cc 100644 --- a/lib/sj3core/setjrec.c +++ b/lib/sj4core/setjrec.c @@ -39,11 +39,11 @@ #include "sj_kanakan.h" -int setj_atrb(SJ3_CONTEXT u_char* p) { +int setj_atrb(SJ4_CONTEXT u_char* p) { return 2; } -int setj_ofs(SJ3_CONTEXT u_char* p) { +int setj_ofs(SJ4_CONTEXT u_char* p) { int contf = TRUE; p = dicbuf + ((*p & KANJICODEMASK) << 8) + *(p + 1); @@ -52,27 +52,27 @@ int setj_ofs(SJ3_CONTEXT u_char* p) { if(p[codesize(*p)] == KANJISTREND) contf = FALSE; switch(*p & KANJIMODEMASK) { case ZENHIRAASSYUKU: - p += setj_norm1(SJ3_CONTEXT_PASS p); + p += setj_norm1(SJ4_CONTEXT_PASS p); break; case ZENKATAASSYUKU: - p += setj_norm1(SJ3_CONTEXT_PASS p); + p += setj_norm1(SJ4_CONTEXT_PASS p); break; case OFFSETASSYUKU: - p += setj_ofs(SJ3_CONTEXT_PASS p); + p += setj_ofs(SJ4_CONTEXT_PASS p); break; case AIATTRIBUTE: - p += setj_atrb(SJ3_CONTEXT_PASS p); + p += setj_atrb(SJ4_CONTEXT_PASS p); break; case LEADINGHANKAKU: - p += setj_norm2(SJ3_CONTEXT_PASS p); + p += setj_norm2(SJ4_CONTEXT_PASS p); break; case KANJIASSYUKU: - p += setj_knj(SJ3_CONTEXT_PASS p); + p += setj_knj(SJ4_CONTEXT_PASS p); break; case KANJISTREND: @@ -80,14 +80,14 @@ int setj_ofs(SJ3_CONTEXT u_char* p) { break; default: - p += setj_norm2(SJ3_CONTEXT_PASS p); + p += setj_norm2(SJ4_CONTEXT_PASS p); } } while(contf); return 2; } -int setj_knj(SJ3_CONTEXT u_char* p) { +int setj_knj(SJ4_CONTEXT u_char* p) { int contf = TRUE; p = askknj[*p & KNJASSYUKUMASK]; @@ -96,27 +96,27 @@ int setj_knj(SJ3_CONTEXT u_char* p) { if(p[codesize(*p)] == KANJISTREND) contf = FALSE; switch(*p & KANJIMODEMASK) { case ZENHIRAASSYUKU: - p += setj_norm1(SJ3_CONTEXT_PASS p); + p += setj_norm1(SJ4_CONTEXT_PASS p); break; case ZENKATAASSYUKU: - p += setj_norm1(SJ3_CONTEXT_PASS p); + p += setj_norm1(SJ4_CONTEXT_PASS p); break; case OFFSETASSYUKU: - p += setj_ofs(SJ3_CONTEXT_PASS p); + p += setj_ofs(SJ4_CONTEXT_PASS p); break; case AIATTRIBUTE: - p += setj_atrb(SJ3_CONTEXT_PASS p); + p += setj_atrb(SJ4_CONTEXT_PASS p); break; case LEADINGHANKAKU: - p += setj_norm2(SJ3_CONTEXT_PASS p); + p += setj_norm2(SJ4_CONTEXT_PASS p); break; case KANJIASSYUKU: - p += setj_knj(SJ3_CONTEXT_PASS p); + p += setj_knj(SJ4_CONTEXT_PASS p); break; case KANJISTREND: @@ -124,27 +124,27 @@ int setj_knj(SJ3_CONTEXT u_char* p) { break; default: - p += setj_norm2(SJ3_CONTEXT_PASS p); + p += setj_norm2(SJ4_CONTEXT_PASS p); } } while(contf); return 1; } -int setj_norm1(SJ3_CONTEXT u_char* p) { +int setj_norm1(SJ4_CONTEXT u_char* p) { return 1; } -int setj_norm2(SJ3_CONTEXT u_char* p) { +int setj_norm2(SJ4_CONTEXT u_char* p) { return 2; } -int setj_norm3(SJ3_CONTEXT u_char* p) { +int setj_norm3(SJ4_CONTEXT u_char* p) { return 3; } static u_char -chkhead(SJ3_CONTEXT TypeGram gram) { +chkhead(SJ4_CONTEXT TypeGram gram) { if(!headcode) return TRUE; if(headcode == SETTOU_DAI) { @@ -162,7 +162,7 @@ chkhead(SJ3_CONTEXT TypeGram gram) { return FALSE; } -void setjrec(SJ3_CONTEXT u_char* tagp, int mode) { +void setjrec(SJ4_CONTEXT u_char* tagp, int mode) { TypeGram gram; u_char* ptr; u_char* endp; @@ -187,27 +187,27 @@ void setjrec(SJ3_CONTEXT u_char* tagp, int mode) { for(tmp = ptr + 1; *tmp != HINSIBLKTERM;) { switch(*tmp & KANJIMODEMASK) { case ZENHIRAASSYUKU: - tmp += setj_norm1(SJ3_CONTEXT_PASS tmp); + tmp += setj_norm1(SJ4_CONTEXT_PASS tmp); break; case ZENKATAASSYUKU: - tmp += setj_norm1(SJ3_CONTEXT_PASS tmp); + tmp += setj_norm1(SJ4_CONTEXT_PASS tmp); break; case OFFSETASSYUKU: - tmp += setj_ofs(SJ3_CONTEXT_PASS tmp); + tmp += setj_ofs(SJ4_CONTEXT_PASS tmp); break; case AIATTRIBUTE: - tmp += setj_atrb(SJ3_CONTEXT_PASS tmp); + tmp += setj_atrb(SJ4_CONTEXT_PASS tmp); break; case LEADINGHANKAKU: - tmp += setj_norm2(SJ3_CONTEXT_PASS tmp); + tmp += setj_norm2(SJ4_CONTEXT_PASS tmp); break; case KANJIASSYUKU: - tmp += setj_knj(SJ3_CONTEXT_PASS tmp); + tmp += setj_knj(SJ4_CONTEXT_PASS tmp); break; case KANJISTREND: @@ -215,15 +215,15 @@ void setjrec(SJ3_CONTEXT u_char* tagp, int mode) { break; default: - tmp += setj_norm2(SJ3_CONTEXT_PASS tmp); + tmp += setj_norm2(SJ4_CONTEXT_PASS tmp); } } if((gram = *ptr) == IKKATU && !(mode & DO_IKKATU)) continue; - if(!chkhead(SJ3_CONTEXT_PASS gram)) continue; + if(!chkhead(SJ4_CONTEXT_PASS gram)) continue; - if(!(rec = argjrec(SJ3_CONTEXT_PASS len, (JREC*)NULL))) continue; + if(!(rec = argjrec(SJ4_CONTEXT_PASS len, (JREC*)NULL))) continue; rec->jseg = prevseg; rec->jofsst = ptr - dicbuf; @@ -235,7 +235,7 @@ void setjrec(SJ3_CONTEXT u_char* tagp, int mode) { } } -void setnumrec(SJ3_CONTEXT u_char* tagp, JREC* rec, TypeGram gram) { +void setnumrec(SJ4_CONTEXT u_char* tagp, JREC* rec, TypeGram gram) { u_char* ptr; u_char* endp; u_char* tmp; @@ -255,27 +255,27 @@ void setnumrec(SJ3_CONTEXT u_char* tagp, JREC* rec, TypeGram gram) { for(tmp = ptr + 1; *tmp != HINSIBLKTERM;) { switch(*tmp & KANJIMODEMASK) { case ZENHIRAASSYUKU: - tmp += setj_norm1(SJ3_CONTEXT_PASS tmp); + tmp += setj_norm1(SJ4_CONTEXT_PASS tmp); break; case ZENKATAASSYUKU: - tmp += setj_norm1(SJ3_CONTEXT_PASS tmp); + tmp += setj_norm1(SJ4_CONTEXT_PASS tmp); break; case OFFSETASSYUKU: - tmp += setj_ofs(SJ3_CONTEXT_PASS tmp); + tmp += setj_ofs(SJ4_CONTEXT_PASS tmp); break; case AIATTRIBUTE: - tmp += setj_atrb(SJ3_CONTEXT_PASS tmp); + tmp += setj_atrb(SJ4_CONTEXT_PASS tmp); break; case LEADINGHANKAKU: - tmp += setj_norm2(SJ3_CONTEXT_PASS tmp); + tmp += setj_norm2(SJ4_CONTEXT_PASS tmp); break; case KANJIASSYUKU: - tmp += setj_knj(SJ3_CONTEXT_PASS tmp); + tmp += setj_knj(SJ4_CONTEXT_PASS tmp); break; case KANJISTREND: @@ -283,13 +283,13 @@ void setnumrec(SJ3_CONTEXT u_char* tagp, JREC* rec, TypeGram gram) { break; default: - tmp += setj_norm2(SJ3_CONTEXT_PASS tmp); + tmp += setj_norm2(SJ4_CONTEXT_PASS tmp); } } if(gram != *ptr) continue; - if(!(jrec = argjrec(SJ3_CONTEXT_PASS(int)(rec->jlen + len), rec))) continue; + if(!(jrec = argjrec(SJ4_CONTEXT_PASS(int)(rec->jlen + len), rec))) continue; jrec->jseg = prevseg; jrec->jofsst = ptr - dicbuf; @@ -298,10 +298,10 @@ void setnumrec(SJ3_CONTEXT u_char* tagp, JREC* rec, TypeGram gram) { } } -void setcrec(SJ3_CONTEXT u_char* tagp) { +void setcrec(SJ4_CONTEXT u_char* tagp) { JREC* rec; - if(!(rec = argjrec(SJ3_CONTEXT_PASS(int) ClYomiLen(tagp), (JREC*)NULL))) return; + if(!(rec = argjrec(SJ4_CONTEXT_PASS(int) ClYomiLen(tagp), (JREC*)NULL))) return; rec->jofsst = tagp - CLSTUDYDICT; rec->class = C_BUNSETU; diff --git a/lib/sj3core/setkouho.c b/lib/sj4core/setkouho.c similarity index 79% rename from lib/sj3core/setkouho.c rename to lib/sj4core/setkouho.c index 13c3e4d..bec0368 100644 --- a/lib/sj3core/setkouho.c +++ b/lib/sj4core/setkouho.c @@ -39,9 +39,9 @@ #include "sj_kanakan.h" -static int hiraknj(SJ3_CONTEXT u_char*); +static int hiraknj(SJ4_CONTEXT u_char*); -void setkouho(SJ3_CONTEXT CLREC* clrec, TypeDicOfs offs, int mode) { +void setkouho(SJ4_CONTEXT CLREC* clrec, TypeDicOfs offs, int mode) { JREC* jrec; KHREC* kptr; u_char* fptr; @@ -85,7 +85,7 @@ void setkouho(SJ3_CONTEXT CLREC* clrec, TypeDicOfs offs, int mode) { kptr->sttfg = 1; kptr->sttkj = 0; - i = hiraknj(SJ3_CONTEXT_PASS dicbuf + offs); + i = hiraknj(SJ4_CONTEXT_PASS dicbuf + offs); if(offs > 1 && (i == 2 || i == 3)) return; if(khcount >= MAXKOUHONUMBER) return; @@ -118,7 +118,7 @@ void setkouho(SJ3_CONTEXT CLREC* clrec, TypeDicOfs offs, int mode) { } } -void ph_setkouho(SJ3_CONTEXT CLREC* clrec, TypeDicOfs offs, STDYIN* sptr) { +void ph_setkouho(SJ4_CONTEXT CLREC* clrec, TypeDicOfs offs, STDYIN* sptr) { JREC* jrec; u_char* p; @@ -154,7 +154,7 @@ void ph_setkouho(SJ3_CONTEXT CLREC* clrec, TypeDicOfs offs, STDYIN* sptr) { } static int -hiraknj(SJ3_CONTEXT u_char* p) { +hiraknj(SJ4_CONTEXT u_char* p) { char flg = TRUE; int i; int result; @@ -163,31 +163,31 @@ hiraknj(SJ3_CONTEXT u_char* p) { if(p[codesize(*p)] == KANJISTREND) flg = FALSE; switch(*p & KANJIMODEMASK) { case ZENHIRAASSYUKU: - result = hiraknj_hask(SJ3_CONTEXT_PASS p, &i); + result = hiraknj_hask(SJ4_CONTEXT_PASS p, &i); break; case ZENKATAASSYUKU: - result = hiraknj_kask(SJ3_CONTEXT_PASS p, &i); + result = hiraknj_kask(SJ4_CONTEXT_PASS p, &i); break; case OFFSETASSYUKU: - result = hiraknj_ofs(SJ3_CONTEXT_PASS p, &i); + result = hiraknj_ofs(SJ4_CONTEXT_PASS p, &i); break; case AIATTRIBUTE: - result = hiraknj_atrb(SJ3_CONTEXT_PASS p, &i); + result = hiraknj_atrb(SJ4_CONTEXT_PASS p, &i); break; case LEADINGHANKAKU: - result = hiraknj_norm(SJ3_CONTEXT_PASS p, &i); + result = hiraknj_norm(SJ4_CONTEXT_PASS p, &i); break; case KANJIASSYUKU: - result = hiraknj_knj(SJ3_CONTEXT_PASS p, &i); + result = hiraknj_knj(SJ4_CONTEXT_PASS p, &i); break; default: - result = hiraknj_hira(SJ3_CONTEXT_PASS p, &i); + result = hiraknj_hira(SJ4_CONTEXT_PASS p, &i); } if(result) return result; @@ -198,37 +198,37 @@ hiraknj(SJ3_CONTEXT u_char* p) { return 0; } -int hiraknj_atrb(SJ3_CONTEXT u_char* p, int* len) { +int hiraknj_atrb(SJ4_CONTEXT u_char* p, int* len) { *len = 2; return 0; } -int hiraknj_ofs(SJ3_CONTEXT u_char* p, int* len) { +int hiraknj_ofs(SJ4_CONTEXT u_char* p, int* len) { *len = 2; - return hiraknj(SJ3_CONTEXT_PASS dicbuf + ((*p & KANJICODEMASK) << 8) + *(p + 1)); + return hiraknj(SJ4_CONTEXT_PASS dicbuf + ((*p & KANJICODEMASK) << 8) + *(p + 1)); } -int hiraknj_knj(SJ3_CONTEXT u_char* p, int* len) { +int hiraknj_knj(SJ4_CONTEXT u_char* p, int* len) { *len = 1; - return hiraknj(SJ3_CONTEXT_PASS askknj[*p & KNJASSYUKUMASK]); + return hiraknj(SJ4_CONTEXT_PASS askknj[*p & KNJASSYUKUMASK]); } -int hiraknj_hask(SJ3_CONTEXT u_char* p, int* len) { +int hiraknj_hask(SJ4_CONTEXT u_char* p, int* len) { *len = 1; return 2; } -int hiraknj_kask(SJ3_CONTEXT u_char* p, int* len) { +int hiraknj_kask(SJ4_CONTEXT u_char* p, int* len) { *len = 1; return 3; } -int hiraknj_norm(SJ3_CONTEXT u_char* p, int* len) { +int hiraknj_norm(SJ4_CONTEXT u_char* p, int* len) { *len = codesize(*p); return 1; } -int hiraknj_hira(SJ3_CONTEXT u_char* p, int* len) { +int hiraknj_hira(SJ4_CONTEXT u_char* p, int* len) { u_char ch; *len = codesize(*p); diff --git a/lib/sj3core/setubi.c b/lib/sj4core/setubi.c similarity index 94% rename from lib/sj3core/setubi.c rename to lib/sj4core/setubi.c index c86a52f..f320658 100644 --- a/lib/sj3core/setubi.c +++ b/lib/sj4core/setubi.c @@ -45,7 +45,7 @@ getstb(TypeGram hinsi) { return Stbadr(hinsi); } -void setubi(SJ3_CONTEXT JREC* rec, u_char* stbtbl) { +void setubi(SJ4_CONTEXT JREC* rec, u_char* stbtbl) { u_char* stb; u_char* yptr; u_char* sptr; @@ -68,7 +68,7 @@ void setubi(SJ3_CONTEXT JREC* rec, u_char* stbtbl) { if((cmp != MATCH) || isdpnd(*(yptr + slen))) continue; - if(!(new = argjrec(SJ3_CONTEXT_PASS(int)(rec->jlen + slen), rec))) continue; + if(!(new = argjrec(SJ4_CONTEXT_PASS(int)(rec->jlen + slen), rec))) continue; new->stbofs = (u_char)(stb - stbtbl); new->flags |= StbBakeru(stb) ? JFLAG_KA : 0; diff --git a/lib/sj3core/sj2code.c b/lib/sj4core/sj2code.c similarity index 100% rename from lib/sj3core/sj2code.c rename to lib/sj4core/sj2code.c diff --git a/lib/sj3core/skiphblk.c b/lib/sj4core/skiphblk.c similarity index 100% rename from lib/sj3core/skiphblk.c rename to lib/sj4core/skiphblk.c diff --git a/lib/sj3core/skipkstr.c b/lib/sj4core/skipkstr.c similarity index 100% rename from lib/sj3core/skipkstr.c rename to lib/sj4core/skipkstr.c diff --git a/lib/sj3core/srchdict.c b/lib/sj4core/srchdict.c similarity index 86% rename from lib/sj3core/srchdict.c rename to lib/sj4core/srchdict.c index 385cfb2..51211b2 100644 --- a/lib/sj3core/srchdict.c +++ b/lib/sj4core/srchdict.c @@ -37,7 +37,7 @@ #include "sj_kanakan.h" -int yomicmp(SJ3_CONTEXT u_char* ptr1, u_char* ptr2, u_char* saml) { +int yomicmp(SJ4_CONTEXT u_char* ptr1, u_char* ptr2, u_char* saml) { int i, j; int same; @@ -47,7 +47,7 @@ int yomicmp(SJ3_CONTEXT u_char* ptr1, u_char* ptr2, u_char* saml) { j = getnlen(ptr2); if(j == 0) { - ptr2 = get_idxptr(SJ3_CONTEXT_PASS prevseg); + ptr2 = get_idxptr(SJ4_CONTEXT_PASS prevseg); for(i = same; i; i--) if(*ptr1++ != *ptr2++) return OVER; @@ -79,7 +79,7 @@ int yomicmp(SJ3_CONTEXT u_char* ptr1, u_char* ptr2, u_char* saml) { } u_char* -srchdict(SJ3_CONTEXT u_char* tagp) { +srchdict(SJ4_CONTEXT u_char* tagp) { TypeDicSeg segno; int cmp; int maxlen; @@ -88,9 +88,9 @@ srchdict(SJ3_CONTEXT u_char* tagp) { while((int)dicinl <= maxlen) { - segno = srchidx(SJ3_CONTEXT_PASS prevseg, (int)dicinl); + segno = srchidx(SJ4_CONTEXT_PASS prevseg, (int)dicinl); - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, segno); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, segno); if(prevseg != segno) { @@ -109,20 +109,20 @@ srchdict(SJ3_CONTEXT u_char* tagp) { if(segno >= curdict->segunit) return NULL; - (*curdict->getdic)(SJ3_CONTEXT_PASS curdict, segno); + (*curdict->getdic)(SJ4_CONTEXT_PASS curdict, segno); tagp = dicbuf; } } if(tagp == dicbuf) { - get_askknj(SJ3_CONTEXT_PASS2); + get_askknj(SJ4_CONTEXT_PASS2); tagp += *tagp + 1; } while(!segend(tagp)) { - cmp = yomicmp(SJ3_CONTEXT_PASS cnvstart, tagp, &dicsaml); + cmp = yomicmp(SJ4_CONTEXT_PASS cnvstart, tagp, &dicsaml); if((int)dicsaml > maxlen) return NULL; diff --git a/lib/sj3core/srchhead.c b/lib/sj4core/srchhead.c similarity index 98% rename from lib/sj3core/srchhead.c rename to lib/sj4core/srchhead.c index a6f12a9..73550b9 100644 --- a/lib/sj3core/srchhead.c +++ b/lib/sj4core/srchhead.c @@ -38,7 +38,7 @@ #include "sj_kanakan.h" -int srchhead(SJ3_CONTEXT2) { +int srchhead(SJ4_CONTEXT2) { if(*cnvstart == _O) { headcode = SETTOU_O; headlen = 1; diff --git a/lib/sj3core/srchidx.c b/lib/sj4core/srchidx.c similarity index 95% rename from lib/sj3core/srchidx.c rename to lib/sj4core/srchidx.c index 05c716e..6a258d7 100644 --- a/lib/sj3core/srchidx.c +++ b/lib/sj4core/srchidx.c @@ -38,7 +38,7 @@ #include "sj_kanakan.h" TypeDicSeg -srchidx(SJ3_CONTEXT TypeDicSeg low, int len) { +srchidx(SJ4_CONTEXT TypeDicSeg low, int len) { TypeDicSeg high; TypeDicSeg mid; int cmp; @@ -52,7 +52,7 @@ srchidx(SJ3_CONTEXT TypeDicSeg low, int len) { mid = (low + high) >> 1; - target = get_idxptr(SJ3_CONTEXT_PASS mid); + target = get_idxptr(SJ4_CONTEXT_PASS mid); cmp = istrcmp(cnvstart, target, len, sstrlen(target)); diff --git a/lib/sj3core/srchnum.c b/lib/sj4core/srchnum.c similarity index 77% rename from lib/sj3core/srchnum.c rename to lib/sj4core/srchnum.c index d655618..c09be83 100644 --- a/lib/sj3core/srchnum.c +++ b/lib/sj4core/srchnum.c @@ -41,10 +41,10 @@ #include "sj_kanakan.h" -static void srch_kurai1(SJ3_CONTEXT u_char*, u_char*), srch_kurai2(SJ3_CONTEXT u_char*, u_char*); +static void srch_kurai1(SJ4_CONTEXT u_char*, u_char*), srch_kurai2(SJ4_CONTEXT u_char*, u_char*); static void -srch_josuu_sub(SJ3_CONTEXT JREC* jrec, TypeGram gram) { +srch_josuu_sub(SJ4_CONTEXT JREC* jrec, TypeGram gram) { u_char* tagp; DICTL* dp; @@ -53,12 +53,12 @@ srch_josuu_sub(SJ3_CONTEXT JREC* jrec, TypeGram gram) { dicinl = 1; dicsaml = 0; prevseg = -1; - while((tagp = srchdict(SJ3_CONTEXT_PASS tagp))) setnumrec(SJ3_CONTEXT_PASS tagp, jrec, gram); + while((tagp = srchdict(SJ4_CONTEXT_PASS tagp))) setnumrec(SJ4_CONTEXT_PASS tagp, jrec, gram); } } static void -srch_josuu(SJ3_CONTEXT JREC* jrec) { +srch_josuu(SJ4_CONTEXT JREC* jrec) { u_char* kp; int klen; int len; @@ -71,16 +71,16 @@ srch_josuu(SJ3_CONTEXT JREC* jrec) { cnvstart += (len = jrec->numlen); cnvlen -= len; - srch_josuu_sub(SJ3_CONTEXT_PASS jrec, JOSUUSI); + srch_josuu_sub(SJ4_CONTEXT_PASS jrec, JOSUUSI); - if(!headcode) srch_josuu_sub(SJ3_CONTEXT_PASS jrec, JOSUUSI2); + if(!headcode) srch_josuu_sub(SJ4_CONTEXT_PASS jrec, JOSUUSI2); cnvstart = kp; cnvlen = klen; } static void -setnrec_sub(SJ3_CONTEXT u_char* p, u_short flag, int stb) { +setnrec_sub(SJ4_CONTEXT u_char* p, u_short flag, int stb) { JREC* rec; int len1; int len2; @@ -101,7 +101,7 @@ setnrec_sub(SJ3_CONTEXT u_char* p, u_short flag, int stb) { return; } - if((rec = argjrec(SJ3_CONTEXT_PASS len1, (JREC*)NULL))) { + if((rec = argjrec(SJ4_CONTEXT_PASS len1, (JREC*)NULL))) { rec->class = suuji_class; rec->hinsi = SUUSI; rec->sttofs = headcode; @@ -109,16 +109,16 @@ setnrec_sub(SJ3_CONTEXT u_char* p, u_short flag, int stb) { rec->flags = flag; rec->numlen = (u_char)len2; - if(!stb) srch_josuu(SJ3_CONTEXT_PASS rec); + if(!stb) srch_josuu(SJ4_CONTEXT_PASS rec); } } static void -setnrec(SJ3_CONTEXT u_char* p, u_short flag) { - setnrec_sub(SJ3_CONTEXT_PASS p, flag, 0); +setnrec(SJ4_CONTEXT u_char* p, u_short flag) { + setnrec_sub(SJ4_CONTEXT_PASS p, flag, 0); if(!headcode && (*p == Y_S_KIGOU2)) { - setnrec_sub(SJ3_CONTEXT_PASS p + 1, flag, -1); + setnrec_sub(SJ4_CONTEXT_PASS p + 1, flag, -1); } } @@ -174,7 +174,7 @@ string_cmp(u_char* s, int l, u_char* d) { } static int -check_num(SJ3_CONTEXT u_char* ptr) { +check_num(SJ4_CONTEXT u_char* ptr) { int i; int j; int k; @@ -256,13 +256,13 @@ check_num(SJ3_CONTEXT u_char* ptr) { if(cnt > 1) flag |= JFLAG_NSN; - setnrec(SJ3_CONTEXT_PASS ptr, flag); + setnrec(SJ4_CONTEXT_PASS ptr, flag); return TRUE; } static void -srch_number1(SJ3_CONTEXT u_char* ptr) { +srch_number1(SJ4_CONTEXT u_char* ptr) { u_char ch; u_char mode; u_char* p; @@ -291,19 +291,19 @@ srch_number1(SJ3_CONTEXT u_char* ptr) { case C_N_ARABIA: if(!(mode & SJTBLNARABIAF)) break; - check_num(SJ3_CONTEXT_PASS tptr); - srch_number1(SJ3_CONTEXT_PASS tptr); - srch_kurai2(SJ3_CONTEXT_PASS tptr, (u_char*)NULL); + check_num(SJ4_CONTEXT_PASS tptr); + srch_number1(SJ4_CONTEXT_PASS tptr); + srch_kurai2(SJ4_CONTEXT_PASS tptr, (u_char*)NULL); break; case C_N_SUUJI: if(mode & (SJTBLNARABIAF | SJTBLNYOMIF)) break; - check_num(SJ3_CONTEXT_PASS tptr); - srch_number1(SJ3_CONTEXT_PASS tptr); - srch_kurai1(SJ3_CONTEXT_PASS tptr, (u_char*)NULL); - srch_kurai2(SJ3_CONTEXT_PASS tptr, (u_char*)NULL); + check_num(SJ4_CONTEXT_PASS tptr); + srch_number1(SJ4_CONTEXT_PASS tptr); + srch_kurai1(SJ4_CONTEXT_PASS tptr, (u_char*)NULL); + srch_kurai2(SJ4_CONTEXT_PASS tptr, (u_char*)NULL); break; @@ -315,9 +315,9 @@ srch_number1(SJ3_CONTEXT u_char* ptr) { suuji_class = C_N_NANSUU; } - check_num(SJ3_CONTEXT_PASS tptr); - srch_kurai1(SJ3_CONTEXT_PASS tptr, SjTblCnctP(p)); - srch_kurai2(SJ3_CONTEXT_PASS tptr, SjTblCnctP(p)); + check_num(SJ4_CONTEXT_PASS tptr); + srch_kurai1(SJ4_CONTEXT_PASS tptr, SjTblCnctP(p)); + srch_kurai2(SJ4_CONTEXT_PASS tptr, SjTblCnctP(p)); if(mode & SJTBLNNANSUUF) suuji_class = cls; break; @@ -325,9 +325,9 @@ srch_number1(SJ3_CONTEXT u_char* ptr) { default: if(mode & SJTBLNARABIAF) { suuji_class = C_N_ARABIA; - check_num(SJ3_CONTEXT_PASS tptr); - srch_number1(SJ3_CONTEXT_PASS tptr); - srch_kurai2(SJ3_CONTEXT_PASS tptr, (u_char*)NULL); + check_num(SJ4_CONTEXT_PASS tptr); + srch_number1(SJ4_CONTEXT_PASS tptr); + srch_kurai2(SJ4_CONTEXT_PASS tptr, (u_char*)NULL); suuji_class = C_N_KAZU; } else if(mode & SJTBLNYOMIF) { @@ -335,21 +335,21 @@ srch_number1(SJ3_CONTEXT u_char* ptr) { suuji_class = C_N_NANSUU; else suuji_class = C_N_KAZU; - check_num(SJ3_CONTEXT_PASS tptr); + check_num(SJ4_CONTEXT_PASS tptr); } else if(mode & SJTBLNNARABIF) { suuji_class = C_N_SUUJI; - check_num(SJ3_CONTEXT_PASS tptr); - srch_number1(SJ3_CONTEXT_PASS tptr); + check_num(SJ4_CONTEXT_PASS tptr); + srch_number1(SJ4_CONTEXT_PASS tptr); break; } else { suuji_class = C_N_SUUJI; - srch_number1(SJ3_CONTEXT_PASS tptr); + srch_number1(SJ4_CONTEXT_PASS tptr); suuji_class = C_N_KAZU; - check_num(SJ3_CONTEXT_PASS tptr); + check_num(SJ4_CONTEXT_PASS tptr); } - srch_kurai1(SJ3_CONTEXT_PASS tptr, SjTblCnctP(p)); - srch_kurai2(SJ3_CONTEXT_PASS tptr, SjTblCnctP(p)); + srch_kurai1(SJ4_CONTEXT_PASS tptr, SjTblCnctP(p)); + srch_kurai2(SJ4_CONTEXT_PASS tptr, SjTblCnctP(p)); break; } @@ -358,7 +358,7 @@ srch_number1(SJ3_CONTEXT u_char* ptr) { } static void -srch_kurai1(SJ3_CONTEXT u_char* ptr, u_char* cnct) { +srch_kurai1(SJ4_CONTEXT u_char* ptr, u_char* cnct) { u_char ch; u_char* p; int l; @@ -386,7 +386,7 @@ srch_kurai1(SJ3_CONTEXT u_char* ptr, u_char* cnct) { cls = suuji_class; suuji_class = (suuji_class == C_N_ARABIA) ? C_N_ARAKURA : C_N_KANKURA; suuji_ubuf[suuji_keta - 1] |= (keta << 4); - check_num(SJ3_CONTEXT_PASS tptr); + check_num(SJ4_CONTEXT_PASS tptr); suuji_class = cls; suuji_ubuf[suuji_keta - 1] &= 0xcf; continue; @@ -401,11 +401,11 @@ srch_kurai1(SJ3_CONTEXT u_char* ptr, u_char* cnct) { suuji_ubuf[suuji_keta++] = (_NUM1 | (keta << 4)); } - check_num(SJ3_CONTEXT_PASS tptr); + check_num(SJ4_CONTEXT_PASS tptr); - srch_number1(SJ3_CONTEXT_PASS tptr); - srch_kurai1(SJ3_CONTEXT_PASS tptr, (u_char*)NULL); - srch_kurai2(SJ3_CONTEXT_PASS tptr, Kr1TblCnctP(p)); + srch_number1(SJ4_CONTEXT_PASS tptr); + srch_kurai1(SJ4_CONTEXT_PASS tptr, (u_char*)NULL); + srch_kurai2(SJ4_CONTEXT_PASS tptr, Kr1TblCnctP(p)); if(cnct) suuji_ubuf[suuji_keta - 1] &= 0xcf; @@ -415,7 +415,7 @@ srch_kurai1(SJ3_CONTEXT u_char* ptr, u_char* cnct) { } static void -srch_kurai2(SJ3_CONTEXT u_char* ptr, u_char* cnct) { +srch_kurai2(SJ4_CONTEXT u_char* ptr, u_char* cnct) { u_char ch; u_char* p; int l; @@ -445,7 +445,7 @@ srch_kurai2(SJ3_CONTEXT u_char* ptr, u_char* cnct) { suuji_ubuf[suuji_keta - 1] |= (keta << 6); cls = suuji_class; suuji_class = (suuji_class == C_N_ARABIA) ? C_N_ARAKURA : C_N_KANKURA; - check_num(SJ3_CONTEXT_PASS tptr); + check_num(SJ4_CONTEXT_PASS tptr); suuji_class = cls; suuji_ubuf[suuji_keta - 1] &= 0x3f; continue; @@ -459,10 +459,10 @@ srch_kurai2(SJ3_CONTEXT u_char* ptr, u_char* cnct) { suuji_ubuf[suuji_keta++] = (_NUM1 | (keta << 6)); } - check_num(SJ3_CONTEXT_PASS tptr); + check_num(SJ4_CONTEXT_PASS tptr); - srch_number1(SJ3_CONTEXT_PASS tptr); - srch_kurai1(SJ3_CONTEXT_PASS tptr, (u_char*)NULL); + srch_number1(SJ4_CONTEXT_PASS tptr); + srch_kurai1(SJ4_CONTEXT_PASS tptr, (u_char*)NULL); if(cnct) suuji_ubuf[suuji_keta - 1] &= 0x3f; @@ -472,7 +472,7 @@ srch_kurai2(SJ3_CONTEXT u_char* ptr, u_char* cnct) { } static void -srch_number2(SJ3_CONTEXT u_char* p) { +srch_number2(SJ4_CONTEXT u_char* p) { u_char ch; int i; @@ -507,68 +507,68 @@ srch_number2(SJ3_CONTEXT u_char* p) { suuji_keta++; if(!suuji_comma && suuji_keta > NUMKETALENGTH) { - setnrec(SJ3_CONTEXT_PASS p, 0); + setnrec(SJ4_CONTEXT_PASS p, 0); } else if(suuji_comma == 3) { if(suuji_keta <= NUMKETALENGTH) { suuji_class = C_N_ARACMA; - check_num(SJ3_CONTEXT_PASS p); + check_num(SJ4_CONTEXT_PASS p); } else { suuji_class = C_N_KAZULCMA; - setnrec(SJ3_CONTEXT_PASS p, 0); + setnrec(SJ4_CONTEXT_PASS p, 0); } } } } static void -srchnum_sub(SJ3_CONTEXT u_char* p) { +srchnum_sub(SJ4_CONTEXT u_char* p) { suuji_yptr = p; suuji_comma = suuji_keta = 0; suuji_class = 0; - srch_number1(SJ3_CONTEXT_PASS p); + srch_number1(SJ4_CONTEXT_PASS p); suuji_keta = 0; suuji_class = C_N_KAZU; - srch_kurai1(SJ3_CONTEXT_PASS p, (u_char*)NULL); + srch_kurai1(SJ4_CONTEXT_PASS p, (u_char*)NULL); if(suuji_exit) return; - srch_number2(SJ3_CONTEXT_PASS p); + srch_number2(SJ4_CONTEXT_PASS p); } -void srchnum(SJ3_CONTEXT2) { +void srchnum(SJ4_CONTEXT2) { suuji_len = suuji_exit = 0; - srchnum_sub(SJ3_CONTEXT_PASS cnvstart); + srchnum_sub(SJ4_CONTEXT_PASS cnvstart); if(!headcode && (*cnvstart == Y_S_KIGOU1)) { headcode = SETTOU_KIGOU; headlen = 1; - srchnum_sub(SJ3_CONTEXT_PASS cnvstart + 1); + srchnum_sub(SJ4_CONTEXT_PASS cnvstart + 1); headcode = headlen = 0; } } -void setwdnum(SJ3_CONTEXT u_char* p, int len, u_short* wd) { +void setwdnum(SJ4_CONTEXT u_char* p, int len, u_short* wd) { suuji_len = (u_char)len; suuji_wkeep = wd; suuji_ukeep = NULL; headcode = headlen = 0; suuji_exit = 0; - srchnum_sub(SJ3_CONTEXT_PASS p); + srchnum_sub(SJ4_CONTEXT_PASS p); } -int setucnum(SJ3_CONTEXT u_char* p, int len, u_char* ud) { +int setucnum(SJ4_CONTEXT u_char* p, int len, u_char* ud) { suuji_len = (u_char)len; suuji_wkeep = NULL; suuji_ukeep = ud; headcode = headlen = 0; suuji_exit = 0; - srchnum_sub(SJ3_CONTEXT_PASS p); + srchnum_sub(SJ4_CONTEXT_PASS p); return (int)suuji_exit; } diff --git a/lib/sj3core/sstrcmp.c b/lib/sj4core/sstrcmp.c similarity index 100% rename from lib/sj3core/sstrcmp.c rename to lib/sj4core/sstrcmp.c diff --git a/lib/sj3core/sstrlen.c b/lib/sj4core/sstrlen.c similarity index 100% rename from lib/sj3core/sstrlen.c rename to lib/sj4core/sstrlen.c diff --git a/lib/sj3core/sstrncmp.c b/lib/sj4core/sstrncmp.c similarity index 100% rename from lib/sj3core/sstrncmp.c rename to lib/sj4core/sstrncmp.c diff --git a/lib/sj3core/stbtbl.c b/lib/sj4core/stbtbl.c similarity index 100% rename from lib/sj3core/stbtbl.c rename to lib/sj4core/stbtbl.c diff --git a/lib/sj3core/stttbl.c b/lib/sj4core/stttbl.c similarity index 100% rename from lib/sj3core/stttbl.c rename to lib/sj4core/stttbl.c diff --git a/lib/sj3core/study.c b/lib/sj4core/study.c similarity index 94% rename from lib/sj3core/study.c rename to lib/sj4core/study.c index ab0ebc4..764aece 100644 --- a/lib/sj3core/study.c +++ b/lib/sj4core/study.c @@ -37,7 +37,7 @@ #include "sj_kanakan.h" -int study(SJ3_CONTEXT STDYOUT* stdy) { +int study(SJ4_CONTEXT STDYOUT* stdy) { STDYOUT outp; STDYIN* p1; STDYIN* p2; @@ -54,7 +54,7 @@ int study(SJ3_CONTEXT STDYOUT* stdy) { if(outp.stdy1.offset == 0) return STUDYNOTSTUDY; - p1 = srchstdy(SJ3_CONTEXT_PASS outp.stdy1.seg, outp.stdy1.offset, outp.stdy1.dicid); + p1 = srchstdy(SJ4_CONTEXT_PASS outp.stdy1.seg, outp.stdy1.offset, outp.stdy1.dicid); if(p1) { nm = p1->styno; @@ -69,7 +69,7 @@ int study(SJ3_CONTEXT STDYOUT* stdy) { p1->nmflg = outp.stdy1.nmflg; - putstydic(SJ3_CONTEXT_PASS2); + putstydic(SJ4_CONTEXT_PASS2); return STUDYNORMEND; } @@ -127,13 +127,13 @@ int study(SJ3_CONTEXT STDYOUT* stdy) { p1->nmflg = outp.stdy1.nmflg; STUDYCOUNT += 1; - putstydic(SJ3_CONTEXT_PASS2); + putstydic(SJ4_CONTEXT_PASS2); return ret; } STDYIN* -srchstdy(SJ3_CONTEXT TypeDicSeg seg, TypeDicOfs ofs, TypeDicID dicid) { +srchstdy(SJ4_CONTEXT TypeDicSeg seg, TypeDicOfs ofs, TypeDicID dicid) { int high; int mid; int low; diff --git a/lib/sj3core/suujitbl.c b/lib/sj4core/suujitbl.c similarity index 100% rename from lib/sj3core/suujitbl.c rename to lib/sj4core/suujitbl.c diff --git a/lib/sj3core/terminat.c b/lib/sj4core/terminat.c similarity index 97% rename from lib/sj3core/terminat.c rename to lib/sj4core/terminat.c index 30f349f..d8e46ab 100644 --- a/lib/sj3core/terminat.c +++ b/lib/sj4core/terminat.c @@ -38,7 +38,7 @@ #include "sj_kanakan.h" -int terminate(SJ3_CONTEXT TypeCnct right, u_char* yomi) { +int terminate(SJ4_CONTEXT TypeCnct right, u_char* yomi) { u_char ch; if((yomi > cnvstart) && (Chrtbl[*(yomi - 1)] & NUMBER)) diff --git a/lib/sj3core/termtbl.c b/lib/sj4core/termtbl.c similarity index 100% rename from lib/sj3core/termtbl.c rename to lib/sj4core/termtbl.c diff --git a/lib/sj3core/wakachi.c b/lib/sj4core/wakachi.c similarity index 82% rename from lib/sj3core/wakachi.c rename to lib/sj4core/wakachi.c index 40d6507..0df0d34 100644 --- a/lib/sj3core/wakachi.c +++ b/lib/sj4core/wakachi.c @@ -39,7 +39,7 @@ #include "sj_kanakan.h" -void wakachi(SJ3_CONTEXT2) { +void wakachi(SJ4_CONTEXT2) { JREC* jrec; CLREC* clrec; @@ -50,7 +50,7 @@ void wakachi(SJ3_CONTEXT2) { int i; int maxlen; - free_jall(SJ3_CONTEXT_PASS maxjptr); + free_jall(SJ4_CONTEXT_PASS maxjptr); maxjptr = NULL; maxlen = (cnvlen > MAXCLINPUTLEN) ? MAXCLINPUTLEN : cnvlen; @@ -66,24 +66,24 @@ void wakachi(SJ3_CONTEXT2) { i = maxlen; } - if(!(jrec = argjrec(SJ3_CONTEXT_PASS i, (JREC*)NULL))) return; + if(!(jrec = argjrec(SJ4_CONTEXT_PASS i, (JREC*)NULL))) return; jrec->class = C_WAKACHI; jrec->hinsi = D_MEISI_1; if(Chrtbl[*(next - 1)] & TAI_KGU) - srchfzk(SJ3_CONTEXT_PASS jrec, next, R_DAIMEISI, 0); + srchfzk(SJ4_CONTEXT_PASS jrec, next, R_DAIMEISI, 0); } else { - if(!(jrec = argjrec(SJ3_CONTEXT_PASS 0, (JREC*)NULL))) return; + if(!(jrec = argjrec(SJ4_CONTEXT_PASS 0, (JREC*)NULL))) return; jrec->class = C_WAKACHI; jrec->hinsi = MEISI_6; while((int)jrec->jlen < maxlen) { - count = setconj(SJ3_CONTEXT_PASS(TypeGram) MEISI_6, jrec, crec); + count = setconj(SJ4_CONTEXT_PASS(TypeGram) MEISI_6, jrec, crec); for(i = count; i-- > 0;) { @@ -92,17 +92,17 @@ void wakachi(SJ3_CONTEXT2) { next = cnvstart + jrec->jlen + gobilen; if(gobilen) { - if(terminate(SJ3_CONTEXT_PASS right, next)) { + if(terminate(SJ4_CONTEXT_PASS right, next)) { fzk_ka_flg = 0; - setclrec(SJ3_CONTEXT_PASS jrec, next, right); + setclrec(SJ4_CONTEXT_PASS jrec, next, right); } } else if((Chrtbl[*next] & NUMBER) && (jrec->jlen)) { fzk_ka_flg = 0; - setclrec(SJ3_CONTEXT_PASS jrec, next, right); + setclrec(SJ4_CONTEXT_PASS jrec, next, right); return; } - srchfzk(SJ3_CONTEXT_PASS jrec, next, right, 0); + srchfzk(SJ4_CONTEXT_PASS jrec, next, right, 0); } if(maxclptr) break; @@ -115,7 +115,7 @@ void wakachi(SJ3_CONTEXT2) { return; if(jrec->jlen) { - if((clrec = argclrec(SJ3_CONTEXT_PASS(int) jrec->jlen))) { + if((clrec = argclrec(SJ4_CONTEXT_PASS(int) jrec->jlen))) { clrec->jnode = jrec; clrec->right = R_MEISI; clrec->kubun = K_TAIGEN; diff --git a/lib/sj3rkcv/rk_conv.c b/lib/sj4rkcv/rk_conv.c similarity index 90% rename from lib/sj3rkcv/rk_conv.c rename to lib/sj4rkcv/rk_conv.c index d555a60..658cda5 100644 --- a/lib/sj3rkcv/rk_conv.c +++ b/lib/sj4rkcv/rk_conv.c @@ -34,7 +34,7 @@ */ #ifndef lint -static char rcsid[] = "$Header: /export/work/contrib/sj3/sj3rkcv/RCS/rk_conv.c,v 1.14 1994/06/03 07:42:16 notanaka Exp $"; +static char rcsid[] = "$Header: /export/work/contrib/sj4/sj4rkcv/RCS/rk_conv.c,v 1.14 1994/06/03 07:42:16 notanaka Exp $"; #endif #include "wchar16.h" @@ -53,16 +53,16 @@ static char rcsid[] = "$Header: /export/work/contrib/sj3/sj3rkcv/RCS/rk_conv.c,v #include "kctype.h" #include "rk.h" -#include "sj3rkcv.h" +#include "sj4rkcv.h" #if defined(__sony_news) && defined(SVR4) -#define wscmp sj3_wscmp16 -#define wsncmp sj3_wsncmp16 -#define wsncpy sj3_wsncpy16 -#define wscpy sj3_wscpy16 -#define wslen sj3_wslen16 -#define mbstowcs sj3_mbstowcs16 -#define wcstombs sj3_wcstombs16 +#define wscmp sj4_wscmp16 +#define wsncmp sj4_wsncmp16 +#define wsncpy sj4_wsncpy16 +#define wscpy sj4_wscpy16 +#define wslen sj4_wslen16 +#define mbstowcs sj4_mbstowcs16 +#define wcstombs sj4_wcstombs16 #endif #define ENDMARK(c) (c == SPACE || c == TAB) @@ -71,12 +71,12 @@ static char rcsid[] = "$Header: /export/work/contrib/sj3/sj3rkcv/RCS/rk_conv.c,v #define WTOUPPER(c) ((wchar16_t)(islower(((c) & 0xff)) ? toupper(((c) & 0xff)) : ((c) & 0xff))) -#define SJ3_NO -1 -#define SJ3_SJIS 0 -#define SJ3_EUC 1 +#define SJ4_NO -1 +#define SJ4_SJIS 0 +#define SJ4_EUC 1 -RkTabl* sj3_rcode[MAXCODE]; -RkTablW16* sj3_rcode_w16[MAXCODE]; +RkTabl* sj4_rcode[MAXCODE]; +RkTablW16* sj4_rcode_w16[MAXCODE]; RkTablW16* rktblp; wchar16_t rline[MAXLLEN]; wchar16_t lstr[MAXLLEN]; @@ -87,7 +87,7 @@ static int rk_erase; static int rk_errin = 0; static int rk_cflag; static int rk_klen; -static int file_code = SJ3_NO; +static int file_code = SJ4_NO; static RkbufRec rkpbuf, *rkpp = NULL; static RkTablW16* rkhp; @@ -96,14 +96,14 @@ static wchar16_t* shp; static YmibufRec ymipbuf, *ymipp; static u_short* yhp; -void sj3_rkcode(int code) { +void sj4_rkcode(int code) { if(code) - file_code = SJ3_NO; + file_code = SJ4_NO; } -int sj3_rkinit2(char* rkfile, int erase) { +int sj4_rkinit2(char* rkfile, int erase) { rk_erase = erase; - return (sj3_rkinit_mb(rkfile)); + return (sj4_rkinit_mb(rkfile)); } int rcode_sjis_init() { @@ -117,8 +117,8 @@ int rcode_sjis_init() { tablsize = sizeof(RkTabl); for(i = 0; i < MAXCODE; i++) { - if(sj3_rcode_w16[i]) { - tabl_w16 = sj3_rcode_w16[i]; + if(sj4_rcode_w16[i]) { + tabl_w16 = sj4_rcode_w16[i]; while(tabl_w16) { tablnum++; if(tabl_w16->r_key) @@ -155,9 +155,9 @@ int rcode_sjis_init() { rkeylen *= 2; rstrlen *= 2; for(i = 0; i < MAXCODE; i++) { - if(sj3_rcode_w16[i]) { - tabl_w16 = sj3_rcode_w16[i]; - tabl_next = sj3_rcode[i] = tabl; + if(sj4_rcode_w16[i]) { + tabl_w16 = sj4_rcode_w16[i]; + tabl_next = sj4_rcode[i] = tabl; while(tabl_w16) { tabl += 1; if(tabl_w16->r_key) { @@ -275,8 +275,8 @@ int rcode_euc_init() { tablsize = sizeof(RkTabl); for(i = 0; i < MAXCODE; i++) { - if(sj3_rcode_w16[i]) { - tabl_w16 = sj3_rcode_w16[i]; + if(sj4_rcode_w16[i]) { + tabl_w16 = sj4_rcode_w16[i]; while(tabl_w16) { tablnum++; if(tabl_w16->r_key) @@ -313,9 +313,9 @@ int rcode_euc_init() { rkeylen *= 2; rstrlen *= 2; for(i = 0; i < MAXCODE; i++) { - if(sj3_rcode_w16[i]) { - tabl_w16 = sj3_rcode_w16[i]; - tabl_next = sj3_rcode[i] = tabl; + if(sj4_rcode_w16[i]) { + tabl_w16 = sj4_rcode_w16[i]; + tabl_next = sj4_rcode[i] = tabl; while(tabl_w16) { tabl += 1; if(tabl_w16->r_key) { @@ -422,22 +422,22 @@ int rcode_euc_init() { return 1; } -int sj3_rkinit(char* rkfile) { - return sj3_rkinit_sub(rkfile, rcode_sjis_init); +int sj4_rkinit(char* rkfile) { + return sj4_rkinit_sub(rkfile, rcode_sjis_init); } -int sj3_rkinit_euc(char* rkfile) { - return sj3_rkinit_sub(rkfile, rcode_euc_init); +int sj4_rkinit_euc(char* rkfile) { + return sj4_rkinit_sub(rkfile, rcode_euc_init); } -int sj3_rkinit_mb(char* rkfile) { +int sj4_rkinit_mb(char* rkfile) { if(current_locale == LC_CTYPE_EUC) - return sj3_rkinit_sub(rkfile, rcode_euc_init); + return sj4_rkinit_sub(rkfile, rcode_euc_init); else - return sj3_rkinit_sub(rkfile, rcode_sjis_init); + return sj4_rkinit_sub(rkfile, rcode_sjis_init); } -int sj3_rkinit_sub(char* rkfile, int (*mbfunc)()) { +int sj4_rkinit_sub(char* rkfile, int (*mbfunc)()) { char* p; int len, klen, rlen, retv; FILE* fp; @@ -496,7 +496,7 @@ int sj3_rkinit_sub(char* rkfile, int (*mbfunc)()) { fclose(fp); if(!(*mbfunc)()) retv = FAIL; - sj3_rkclear(); + sj4_rkclear(); return (retv); } @@ -566,13 +566,13 @@ char* rkgetyomi(char* istr, wchar16_t* ostr, int* len) { if(SKLINE(*p)) break; cc = c = *p++; - if(file_code == SJ3_SJIS) { + if(file_code == SJ4_SJIS) { if(issjis1(c) && issjis2(*p)) { cc = (c << 8) + (*p & MASK); p++; cc = sjis2euc(cc); } - } else if(file_code == SJ3_EUC) { + } else if(file_code == SJ4_EUC) { if(iseuc(c) && iseuc(*p)) { cc = (c << 8) + (*p & MASK); p++; @@ -584,12 +584,12 @@ char* rkgetyomi(char* istr, wchar16_t* ostr, int* len) { } } else { if(issjis1(c) && issjis2(*p)) { - file_code = SJ3_SJIS; + file_code = SJ4_SJIS; p--; continue; } if((iseuc(c) && iseuc(*p)) || (iseuckana(c) && iskana2(*p)) || (IsEUCHojo(c) && iseuc(*p) && iseuc(p[1]))) { - file_code = SJ3_EUC; + file_code = SJ4_EUC; p--; continue; } @@ -612,8 +612,8 @@ void cltable() { if(rkpp != NULL) { for(i = 0; i < MAXCODE; i++) { - sj3_rcode_w16[i] = NULL; - sj3_rcode[i] = NULL; + sj4_rcode_w16[i] = NULL; + sj4_rcode[i] = NULL; } rkpp = &rkpbuf; rkhp = rkpp->rkbuf; @@ -746,7 +746,7 @@ mktable(wchar16_t* key, int len) { nrktp = NULL; orktp = NULL; code = *key++ & MASK; - rktp = sj3_rcode_w16[code]; + rktp = sj4_rcode_w16[code]; while(rktp != NULL) { if(rktp->r_key == NULL) { if(*key == NSTR) @@ -765,13 +765,13 @@ mktable(wchar16_t* key, int len) { } if((rktp = rkalloc()) == NULL) return (NULL); - if(sj3_rcode_w16[code] == NULL) - sj3_rcode_w16[code] = rktp; + if(sj4_rcode_w16[code] == NULL) + sj4_rcode_w16[code] = rktp; else { if(nrktp != NULL) { rktp->next = nrktp; if(orktp == NULL) - sj3_rcode_w16[code] = rktp; + sj4_rcode_w16[code] = rktp; else orktp->next = rktp; } else @@ -780,23 +780,23 @@ mktable(wchar16_t* key, int len) { return (rktp); } -void sj3_rkebell(int err) { +void sj4_rkebell(int err) { rk_errin = err; } -void sj3_rkclear() { +void sj4_rkclear() { rline[0] = NSTR; lstr[0] = NSTR; rktblp = NULL; rk_klen = 0; - sj3_rkreset(); + sj4_rkreset(); } -void sj3_rkreset() { +void sj4_rkreset() { rk_cflag = -1; } -void sj3_rkconvc(wchar16_t c, u_int* rkstr) { +void sj4_rkconvc(wchar16_t c, u_int* rkstr) { int i; wchar16_t *p, *q; int len; @@ -835,7 +835,7 @@ void sj3_rkconvc(wchar16_t c, u_int* rkstr) { rline[len] = c; rline[len + 1] = NSTR; wscpy(wstr, rline); - if((i = sj3_rkconv2(wstr, kstr, len)) == CONTINUE) { + if((i = sj4_rkconv2(wstr, kstr, len)) == CONTINUE) { if(rk_cflag >= 0) rk_cflag++; *rkstr++ = ERRCODE + c; @@ -864,7 +864,7 @@ void sj3_rkconvc(wchar16_t c, u_int* rkstr) { *rkstr = RKEND; } -int sj3_rkconv2(wchar16_t* wstr, u_int* kstr, int wlen) { +int sj4_rkconv2(wchar16_t* wstr, u_int* kstr, int wlen) { int i; wchar16_t *p, *q, *s; int rlen, len; @@ -874,7 +874,7 @@ int sj3_rkconv2(wchar16_t* wstr, u_int* kstr, int wlen) { len = 0; if((rktp = rktblp) == NULL) - rktp = sj3_rcode_w16[WTOUPPER(*wstr)]; + rktp = sj4_rcode_w16[WTOUPPER(*wstr)]; if(*wstr > (wchar16_t)0xff) rktp = NULL; while(1) { while(rktp != NULL) { @@ -914,7 +914,7 @@ int sj3_rkconv2(wchar16_t* wstr, u_int* kstr, int wlen) { } *q = NSTR; wscpy(wstr, svstr); - rktp = sj3_rcode_w16[WTOUPPER(*wstr)]; + rktp = sj4_rcode_w16[WTOUPPER(*wstr)]; wlen = wslen(wstr); wlen--; continue; @@ -943,7 +943,7 @@ int sj3_rkconv2(wchar16_t* wstr, u_int* kstr, int wlen) { p++; } *p = NSTR; - rktp = sj3_rcode_w16[WTOUPPER(*wstr)]; + rktp = sj4_rcode_w16[WTOUPPER(*wstr)]; if(*wstr > (wchar16_t)0xff) rktp = NULL; wlen--; continue; @@ -955,7 +955,7 @@ int sj3_rkconv2(wchar16_t* wstr, u_int* kstr, int wlen) { return (len); } -int sj3_rkconv(u_char* romaji, u_char* kana) { +int sj4_rkconv(u_char* romaji, u_char* kana) { wchar16_t* wstr; int len, mflag = 0, ret; @@ -971,7 +971,7 @@ int sj3_rkconv(u_char* romaji, u_char* kana) { if(mflag) free(wstr); return -1; } - ret = sj3_rkconv_w16(wstr, outtmp); + ret = sj4_rkconv_w16(wstr, outtmp); if(ret == 0 || ret == -1) { if(mflag) free(wstr); return ret; @@ -998,7 +998,7 @@ int sj3_rkconv(u_char* romaji, u_char* kana) { } } -int sj3_rkconv_euc(u_char* romaji, u_char* kana) { +int sj4_rkconv_euc(u_char* romaji, u_char* kana) { wchar16_t* wstr; int len, mflag = 0, ret; @@ -1014,7 +1014,7 @@ int sj3_rkconv_euc(u_char* romaji, u_char* kana) { if(mflag) free(wstr); return -1; } - ret = sj3_rkconv_w16(wstr, outtmp); + ret = sj4_rkconv_w16(wstr, outtmp); if(ret == 0 || ret == -1) { if(mflag) free(wstr); return ret; @@ -1041,14 +1041,14 @@ int sj3_rkconv_euc(u_char* romaji, u_char* kana) { } } -int sj3_rkconv_mb(u_char* romaji, u_char* kana) { +int sj4_rkconv_mb(u_char* romaji, u_char* kana) { if(current_locale == LC_CTYPE_EUC) - return sj3_rkconv_euc(romaji, kana); + return sj4_rkconv_euc(romaji, kana); else - return sj3_rkconv(romaji, kana); + return sj4_rkconv(romaji, kana); } -int sj3_rkconv_w16(wchar16_t* wstr, wchar16_t* kstr) { +int sj4_rkconv_w16(wchar16_t* wstr, wchar16_t* kstr) { int i; wchar16_t *p, *q, *s; @@ -1059,7 +1059,7 @@ int sj3_rkconv_w16(wchar16_t* wstr, wchar16_t* kstr) { u_short* kp; len = wslen(wstr); - rktp = sj3_rcode_w16[WTOUPPER(*wstr)]; + rktp = sj4_rcode_w16[WTOUPPER(*wstr)]; if(*wstr > (wchar16_t)0xff) rktp = NULL; while(rktp != NULL) { rlen = rkmatch((wstr + 1), rktp->r_key, len - 1); diff --git a/lib/sj3rkcv/sj3_rkcv.c b/lib/sj4rkcv/sj4_rkcv.c similarity index 94% rename from lib/sj3rkcv/sj3_rkcv.c rename to lib/sj4rkcv/sj4_rkcv.c index de9dd84..27cb4db 100644 --- a/lib/sj3rkcv/sj3_rkcv.c +++ b/lib/sj4rkcv/sj4_rkcv.c @@ -28,7 +28,7 @@ */ /* - * $SonyRCSfile: sj3_rkcv.c,v $ + * $SonyRCSfile: sj4_rkcv.c,v $ * $SonyRevision: 1.3 $ * $SonyDate: 1995/02/10 06:02:25 $ */ @@ -41,16 +41,16 @@ #include "rk.h" #include "kctype.h" -#include "sj3rkcv.h" +#include "sj4rkcv.h" #if defined(__sony_news) && (SVR4) -#define wscmp sj3_wscmp16 -#define wsncmp sj3_wsncmp16 -#define wsncpy sj3_wsncpy16 -#define wscpy sj3_wscpy16 -#define wslen sj3_wslen16 -#define mbstowcs sj3_mbstowcs16 -#define wcstombs sj3_wcstombs16 +#define wscmp sj4_wscmp16 +#define wsncmp sj4_wsncmp16 +#define wsncpy sj4_wsncpy16 +#define wscpy sj4_wscpy16 +#define wslen sj4_wslen16 +#define mbstowcs sj4_mbstowcs16 +#define wcstombs sj4_wcstombs16 #endif extern int current_locale; @@ -274,7 +274,7 @@ int sj_han2zen(u_short c) { return (cc); } -int sj3_hantozen(u_char* out, u_char* in) { +int sj4_hantozen(u_char* out, u_char* in) { wchar16_t *winstr, *woutstr; u_char* mstr; int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; @@ -321,7 +321,7 @@ int sj3_hantozen(u_char* out, u_char* in) { } else { woutstr = (wchar16_t*)outtmp; } - ret = sj3_hantozen_w16(woutstr, winstr); + ret = sj4_hantozen_w16(woutstr, winstr); if(mmflag) { free(mstr); mmflag = 0; @@ -365,7 +365,7 @@ int sj3_hantozen(u_char* out, u_char* in) { } } -int sj3_hantozen_euc(u_char* out, u_char* in) { +int sj4_hantozen_euc(u_char* out, u_char* in) { wchar16_t *winstr, *woutstr; u_char* mstr; int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; @@ -412,7 +412,7 @@ int sj3_hantozen_euc(u_char* out, u_char* in) { } else { woutstr = (wchar16_t*)outtmp; } - ret = sj3_hantozen_w16(woutstr, winstr); + ret = sj4_hantozen_w16(woutstr, winstr); if(mmflag) { free(mstr); mmflag = 0; @@ -456,14 +456,14 @@ int sj3_hantozen_euc(u_char* out, u_char* in) { } } -int sj3_hantozen_mb(u_char* s1, u_char* s2) { +int sj4_hantozen_mb(u_char* s1, u_char* s2) { if(current_locale == LC_CTYPE_EUC) - return sj3_hantozen_euc(s1, s2); + return sj4_hantozen_euc(s1, s2); else - return sj3_hantozen(s1, s2); + return sj4_hantozen(s1, s2); } -int sj3_hantozen_w16(wchar16_t* s1, wchar16_t* s2) { +int sj4_hantozen_w16(wchar16_t* s1, wchar16_t* s2) { return sj_hantozen(s1, s2, wslen(s2)); } @@ -531,7 +531,7 @@ int sj_zen2han(u_short c) { return (cc); } -int sj3_zentohan(u_char* out, u_char* in) { +int sj4_zentohan(u_char* out, u_char* in) { wchar16_t *winstr, *woutstr; u_char* mstr; int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; @@ -581,7 +581,7 @@ int sj3_zentohan(u_char* out, u_char* in) { } else { woutstr = (wchar16_t*)outtmp; } - ret = sj3_zentohan_w16(woutstr, winstr); + ret = sj4_zentohan_w16(woutstr, winstr); if(ret == 0 || ret == -1) { if(imflag) free(winstr); if(omflag) free(woutstr); @@ -619,7 +619,7 @@ int sj3_zentohan(u_char* out, u_char* in) { return ret; } -int sj3_zentohan_euc(u_char* out, u_char* in) { +int sj4_zentohan_euc(u_char* out, u_char* in) { wchar16_t *winstr, *woutstr; u_char* mstr; int inlen, outlen, imflag = 0, omflag = 0, mmflag = 0, ret; @@ -670,7 +670,7 @@ int sj3_zentohan_euc(u_char* out, u_char* in) { } else { woutstr = (wchar16_t*)outtmp; } - ret = sj3_zentohan_w16(woutstr, winstr); + ret = sj4_zentohan_w16(woutstr, winstr); if(ret == 0 || ret == -1) { if(mmflag) free(mstr); if(imflag) free(winstr); @@ -708,14 +708,14 @@ int sj3_zentohan_euc(u_char* out, u_char* in) { return ret; } -int sj3_zentohan_mb(u_char* s1, u_char* s2) { +int sj4_zentohan_mb(u_char* s1, u_char* s2) { if(current_locale == LC_CTYPE_EUC) - return sj3_zentohan_euc(s1, s2); + return sj4_zentohan_euc(s1, s2); else - return sj3_zentohan(s1, s2); + return sj4_zentohan(s1, s2); } -int sj3_zentohan_w16(wchar16_t* s1, wchar16_t* s2) { +int sj4_zentohan_w16(wchar16_t* s1, wchar16_t* s2) { return sj_zentohan(s1, s2, wslen(s2)); } diff --git a/lib/sj3rkcv/sjrk b/lib/sj4rkcv/sjrk similarity index 100% rename from lib/sj3rkcv/sjrk rename to lib/sj4rkcv/sjrk diff --git a/lib/sj3rkcv/wc16_str.c b/lib/sj4rkcv/wc16_str.c similarity index 81% rename from lib/sj3rkcv/wc16_str.c rename to lib/sj4rkcv/wc16_str.c index c224a87..43abe45 100644 --- a/lib/sj3rkcv/wc16_str.c +++ b/lib/sj4rkcv/wc16_str.c @@ -37,7 +37,7 @@ #include #include "wchar16.h" -#include "sj3rkcv.h" +#include "sj4rkcv.h" #define MSB 0x80 @@ -46,8 +46,8 @@ #define FALSE (0) #endif -#define sjis2euc sj3_sjis2euc -#define euc2sjis sj3_euc2sjis +#define sjis2euc sj4_sjis2euc +#define euc2sjis sj4_euc2sjis #define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \ ((0xe0 <= (c)) && ((c) <= 0xfc))) @@ -56,27 +56,27 @@ extern int current_locale; -int sj3_iswcntrl16(wchar16_t wc) { +int sj4_iswcntrl16(wchar16_t wc) { if((wc < 0x20) || (wc == 0x7f)) return TRUE; return FALSE; } -int sj3_iswupper16(wchar16_t wc) { +int sj4_iswupper16(wchar16_t wc) { if(((0x40 < wc) && (wc < 0x5b)) || ((0xa3c0 < wc) && (wc < 0xa3db))) return TRUE; return FALSE; } -int sj3_iswdigit16(wchar16_t wc) { +int sj4_iswdigit16(wchar16_t wc) { if(((0x29 < wc) && (wc < 0x3a)) || ((0xa3af < wc) && (wc < 0xa3ba))) return TRUE; return FALSE; } -int sj3_iswxdigit16(wchar16_t wc) { +int sj4_iswxdigit16(wchar16_t wc) { if(((0x29 < wc) && (wc < 0x3a)) || ((0xa3af < wc) && (wc < 0xa3ba))) return TRUE; @@ -89,7 +89,7 @@ int sj3_iswxdigit16(wchar16_t wc) { return FALSE; } -int sj3_wslen16(wchar16_t* ws) { +int sj4_wslen16(wchar16_t* ws) { int i = 0; if(!ws) return 0; @@ -98,7 +98,7 @@ int sj3_wslen16(wchar16_t* ws) { return i; } -int sj3_wscmp16(wchar16_t* ws1, wchar16_t* ws2) { +int sj4_wscmp16(wchar16_t* ws1, wchar16_t* ws2) { while((*ws1 && *ws2) && (*ws1 == *ws2)) { ws1++; ws2++; @@ -110,7 +110,7 @@ int sj3_wscmp16(wchar16_t* ws1, wchar16_t* ws2) { return 1; } -int sj3_wsncmp16(wchar16_t* ws1, wchar16_t* ws2, int n) { +int sj4_wsncmp16(wchar16_t* ws1, wchar16_t* ws2, int n) { int i = 0; while((*ws1 && *ws2) && (*ws1 == *ws2) && (i < n)) { @@ -127,7 +127,7 @@ int sj3_wsncmp16(wchar16_t* ws1, wchar16_t* ws2, int n) { } wchar16_t* -sj3_wscpy16(wchar16_t* ws1, wchar16_t* ws2) { +sj4_wscpy16(wchar16_t* ws1, wchar16_t* ws2) { wchar16_t* ws; if(!ws2) return NULL; @@ -141,7 +141,7 @@ sj3_wscpy16(wchar16_t* ws1, wchar16_t* ws2) { } wchar16_t* -sj3_wsncpy16(wchar16_t* ws1, wchar16_t* ws2, int n) { +sj4_wsncpy16(wchar16_t* ws1, wchar16_t* ws2, int n) { wchar16_t* ws; int i = 0; @@ -157,7 +157,7 @@ sj3_wsncpy16(wchar16_t* ws1, wchar16_t* ws2, int n) { } wchar16_t* -sj3_wscat16(wchar16_t* ws1, wchar16_t* ws2) { +sj4_wscat16(wchar16_t* ws1, wchar16_t* ws2) { wchar16_t* ws; if(!ws1) return NULL; @@ -175,7 +175,7 @@ sj3_wscat16(wchar16_t* ws1, wchar16_t* ws2) { } wchar16_t -sj3_euc2wc16(unsigned int code) { +sj4_euc2wc16(unsigned int code) { wchar16_t wc = 0; if(((code >> 16) & 0xff) == SS3) { @@ -190,7 +190,7 @@ sj3_euc2wc16(unsigned int code) { } wchar16_t -sj3_sjis2wc16(unsigned int code) { +sj4_sjis2wc16(unsigned int code) { unsigned short ch; if((code >> 8) & 0xff) { @@ -200,11 +200,11 @@ sj3_sjis2wc16(unsigned int code) { } else { return code; } - return (sj3_euc2wc16(ch)); + return (sj4_euc2wc16(ch)); } unsigned int -sj3_wc2euc16(wchar16_t wc) { +sj4_wc2euc16(wchar16_t wc) { unsigned int code = 0; unsigned char tmp; @@ -227,10 +227,10 @@ sj3_wc2euc16(wchar16_t wc) { } unsigned int -sj3_wc2sjis16(wchar16_t wc) { +sj4_wc2sjis16(wchar16_t wc) { unsigned int ch; - ch = sj3_wc2euc16(wc); + ch = sj4_wc2euc16(wc); if((ch >> 16) == SS3) { return 0; } else if((ch >> 8) == SS2) { @@ -242,13 +242,13 @@ sj3_wc2sjis16(wchar16_t wc) { } } -int sj3_wcs2eucs16(unsigned char* mb, wchar16_t* ws, int n) { +int sj4_wcs2eucs16(unsigned char* mb, wchar16_t* ws, int n) { int i = 0; unsigned int code; unsigned char c; while(*ws && (i < n)) { - code = sj3_wc2euc16(*ws); + code = sj4_wc2euc16(*ws); if(c = ((code >> 16) & 0xff)) { *mb++ = c; i++; @@ -282,13 +282,13 @@ int sj3_wcs2eucs16(unsigned char* mb, wchar16_t* ws, int n) { return i; } -int sj3_wcs2sjiss16(unsigned char* mb, wchar16_t* ws, int n) { +int sj4_wcs2sjiss16(unsigned char* mb, wchar16_t* ws, int n) { int i = 0; unsigned int code; unsigned char c; while(*ws && (i < n)) { - code = sj3_wc2sjis16(*ws); + code = sj4_wc2sjis16(*ws); if(c = ((code >> 8) & 0xff)) { *mb++ = c; i++; @@ -312,7 +312,7 @@ int sj3_wcs2sjiss16(unsigned char* mb, wchar16_t* ws, int n) { return i; } -int sj3_eucs2wcs16(wchar16_t* ws, unsigned char* mb, int n) { +int sj4_eucs2wcs16(wchar16_t* ws, unsigned char* mb, int n) { int i = 0; unsigned int code; @@ -327,7 +327,7 @@ int sj3_eucs2wcs16(wchar16_t* ws, unsigned char* mb, int n) { } else { code = *mb++; } - *ws = sj3_euc2wc16(code); + *ws = sj4_euc2wc16(code); if(!*ws) return -1; ws++; i++; @@ -339,7 +339,7 @@ int sj3_eucs2wcs16(wchar16_t* ws, unsigned char* mb, int n) { return i; } -int sj3_sjiss2wcs16(wchar16_t* ws, unsigned char* mb, int n) { +int sj4_sjiss2wcs16(wchar16_t* ws, unsigned char* mb, int n) { int i = 0; unsigned int code; @@ -350,7 +350,7 @@ int sj3_sjiss2wcs16(wchar16_t* ws, unsigned char* mb, int n) { } else { code = *mb++; } - *ws = sj3_sjis2wc16(code); + *ws = sj4_sjis2wc16(code); if(!*ws) return -1; ws++; i++; @@ -362,16 +362,16 @@ int sj3_sjiss2wcs16(wchar16_t* ws, unsigned char* mb, int n) { return i; } -int sj3_mbstowcs16(wchar16_t* ws, unsigned char* mb, int n) { +int sj4_mbstowcs16(wchar16_t* ws, unsigned char* mb, int n) { if(current_locale == LC_CTYPE_EUC) - return sj3_eucs2wcs16(ws, mb, n); + return sj4_eucs2wcs16(ws, mb, n); else - return sj3_sjiss2wcs16(ws, mb, n); + return sj4_sjiss2wcs16(ws, mb, n); } -int sj3_wcstombs16(unsigned char* mb, unsigned char* ws, int n) { +int sj4_wcstombs16(unsigned char* mb, unsigned char* ws, int n) { if(current_locale == LC_CTYPE_EUC) - return sj3_wcs2eucs16(mb, ws, n); + return sj4_wcs2eucs16(mb, ws, n); else - return sj3_wcs2sjiss16(mb, ws, n); + return sj4_wcs2sjiss16(mb, ws, n); } diff --git a/src/sj3mkdic/GramTable b/src/sj4mkdic/GramTable similarity index 100% rename from src/sj3mkdic/GramTable rename to src/sj4mkdic/GramTable diff --git a/src/sj3mkdic/char.c b/src/sj4mkdic/char.c similarity index 99% rename from src/sj3mkdic/char.c rename to src/sj4mkdic/char.c index 874eb48..51df9f7 100644 --- a/src/sj3mkdic/char.c +++ b/src/sj4mkdic/char.c @@ -34,9 +34,9 @@ */ #include "sj_euc.h" -#include "sj3_dict_const.h" +#include "sj4_dict_const.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" int cnvyomi(int code) { u_short hh; diff --git a/src/sj3mkdic/cnvhinsi.c b/src/sj4mkdic/cnvhinsi.c similarity index 99% rename from src/sj3mkdic/cnvhinsi.c rename to src/sj4mkdic/cnvhinsi.c index 63d2ae7..02257be 100644 --- a/src/sj3mkdic/cnvhinsi.c +++ b/src/sj4mkdic/cnvhinsi.c @@ -33,7 +33,7 @@ * $SonyDate: 1996/05/27 06:59:47 $ */ -#include "sj3mkdic.h" +#include "sj4mkdic.h" static struct gram_code { char* name; diff --git a/src/sj3mkdic/file.c b/src/sj4mkdic/file.c similarity index 99% rename from src/sj3mkdic/file.c rename to src/sj4mkdic/file.c index 8bfcc6e..6291632 100644 --- a/src/sj3mkdic/file.c +++ b/src/sj4mkdic/file.c @@ -33,7 +33,7 @@ * $SonyDate: 1995/02/03 07:38:32 $ */ -#include "sj3mkdic.h" +#include "sj4mkdic.h" typedef struct filelist { FILE* fp; diff --git a/src/sj3mkdic/global.c b/src/sj4mkdic/global.c similarity index 97% rename from src/sj3mkdic/global.c rename to src/sj4mkdic/global.c index 727693d..8b6a0b0 100644 --- a/src/sj3mkdic/global.c +++ b/src/sj4mkdic/global.c @@ -33,9 +33,9 @@ * $SonyDate: 1994/06/03 08:00:35 $ */ -#include "sj3_dict_struct.h" +#include "sj4_dict_struct.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" DouonRec* douon_ptr = NULL; int douon_num = 0; diff --git a/src/sj3mkdic/hindo.c b/src/sj4mkdic/hindo.c similarity index 99% rename from src/sj3mkdic/hindo.c rename to src/sj4mkdic/hindo.c index e243577..a61a0a1 100644 --- a/src/sj3mkdic/hindo.c +++ b/src/sj4mkdic/hindo.c @@ -33,9 +33,9 @@ * $SonyDate: 1994/08/17 01:50:26 $ */ -#include "sj3_dict_struct.h" +#include "sj4_dict_struct.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" int check_hindo(u_char* ptr, int len) { int low, high, mid; diff --git a/src/sj3mkdic/knjcvt.c b/src/sj4mkdic/knjcvt.c similarity index 98% rename from src/sj3mkdic/knjcvt.c rename to src/sj4mkdic/knjcvt.c index c9d5804..586ce1d 100644 --- a/src/sj3mkdic/knjcvt.c +++ b/src/sj4mkdic/knjcvt.c @@ -33,10 +33,10 @@ * $SonyDate: 1994/06/03 08:00:37 $ */ -#include "sj3_dict_const.h" -#include "sj3_dict_struct.h" +#include "sj4_dict_const.h" +#include "sj4_dict_struct.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" typedef struct div_list { int len; diff --git a/src/sj3mkdic/makedict.c b/src/sj4mkdic/makedict.c similarity index 98% rename from src/sj3mkdic/makedict.c rename to src/sj4mkdic/makedict.c index db1dfc9..a310a7f 100644 --- a/src/sj3mkdic/makedict.c +++ b/src/sj4mkdic/makedict.c @@ -33,9 +33,9 @@ * $SonyDate: 1994/12/09 11:27:05 $ */ -#include "sj3_dict_const.h" +#include "sj4_dict_const.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" FILE* infp = NULL; FILE* outfp = NULL; diff --git a/src/sj3mkdic/makelist.c b/src/sj4mkdic/makelist.c similarity index 99% rename from src/sj3mkdic/makelist.c rename to src/sj4mkdic/makelist.c index a6f9434..892a425 100644 --- a/src/sj3mkdic/makelist.c +++ b/src/sj4mkdic/makelist.c @@ -33,9 +33,9 @@ * $SonyDate: 1994/06/03 08:00:39 $ */ -#include "sj3_dict_struct.h" +#include "sj4_dict_struct.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" #ifndef SS2 #define SS2 0x8e diff --git a/src/sj3mkdic/makeseg.c b/src/sj4mkdic/makeseg.c similarity index 99% rename from src/sj3mkdic/makeseg.c rename to src/sj4mkdic/makeseg.c index d02609d..fd68148 100644 --- a/src/sj3mkdic/makeseg.c +++ b/src/sj4mkdic/makeseg.c @@ -33,10 +33,10 @@ * $SonyDate: 1994/12/09 11:27:05 $ */ -#include "sj3_dict_struct.h" +#include "sj4_dict_struct.h" #include "Dict.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" static u_char mindex[MAINSEGMENTLENGTH]; static int idxpos = 0; diff --git a/src/sj3mkdic/memory.c b/src/sj4mkdic/memory.c similarity index 98% rename from src/sj3mkdic/memory.c rename to src/sj4mkdic/memory.c index 1b32134..4569c2f 100644 --- a/src/sj3mkdic/memory.c +++ b/src/sj4mkdic/memory.c @@ -33,7 +33,7 @@ * $SonyDate: 1994/06/03 08:00:42 $ */ -#include "sj3mkdic.h" +#include "sj4mkdic.h" void* Malloc(unsigned size) { void* p; diff --git a/src/sj3mkdic/offset.c b/src/sj4mkdic/offset.c similarity index 98% rename from src/sj3mkdic/offset.c rename to src/sj4mkdic/offset.c index d20b42e..c74e371 100644 --- a/src/sj3mkdic/offset.c +++ b/src/sj4mkdic/offset.c @@ -33,9 +33,9 @@ * $SonyDate: 1994/08/17 01:50:26 $ */ -#include "sj3_dict_struct.h" +#include "sj4_dict_struct.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" static OffsetRec* makeoffset(u_char* ptr, int len, int ofs) { diff --git a/src/sj3mkdic/readline.c b/src/sj4mkdic/readline.c similarity index 99% rename from src/sj3mkdic/readline.c rename to src/sj4mkdic/readline.c index 095b5cb..b5f57f1 100644 --- a/src/sj3mkdic/readline.c +++ b/src/sj4mkdic/readline.c @@ -34,9 +34,9 @@ */ #include "sj_euc.h" -#include "sj3_dict_const.h" +#include "sj4_dict_const.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" static int yomi[MAXYOMILENGTH + 1]; static int kanji[MAXKANJILENGTH + 1]; diff --git a/src/sj3mkdic/sj3_dict_const.h b/src/sj4mkdic/sj4_dict_const.h similarity index 98% rename from src/sj3mkdic/sj3_dict_const.h rename to src/sj4mkdic/sj4_dict_const.h index 714c8bf..2650315 100644 --- a/src/sj3mkdic/sj3_dict_const.h +++ b/src/sj4mkdic/sj4_dict_const.h @@ -28,13 +28,13 @@ */ /* - * $SonyRCSfile: sj3_dict_const.h,v $ + * $SonyRCSfile: sj4_dict_const.h,v $ * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:24 $ */ -#ifndef SJ3_DICT_CONST_H -#define SJ3_DICT_CONST_H +#ifndef SJ4_DICT_CONST_H +#define SJ4_DICT_CONST_H #define MAINSEGMENTLENGTH 2048 #define MAININDEXLENGTH 2048 diff --git a/src/sj3mkdic/sj3_dict_struct.h b/src/sj4mkdic/sj4_dict_struct.h similarity index 94% rename from src/sj3mkdic/sj3_dict_struct.h rename to src/sj4mkdic/sj4_dict_struct.h index 32dec89..015d12d 100644 --- a/src/sj3mkdic/sj3_dict_struct.h +++ b/src/sj4mkdic/sj4_dict_struct.h @@ -28,15 +28,15 @@ */ /* - * $SonyRCSfile: sj3_dict_struct.h,v $ + * $SonyRCSfile: sj4_dict_struct.h,v $ * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:00:26 $ */ -#include "sj3_dict_const.h" +#include "sj4_dict_const.h" -#ifndef SJ3_DICT_STRUCT_H -#define SJ3_DICT_STRUCT_H +#ifndef SJ4_DICT_STRUCT_H +#define SJ4_DICT_STRUCT_H #include diff --git a/src/sj3mkdic/sj3mkdic.h b/src/sj4mkdic/sj4mkdic.h similarity index 97% rename from src/sj3mkdic/sj3mkdic.h rename to src/sj4mkdic/sj4mkdic.h index 932de16..ffb8a09 100644 --- a/src/sj3mkdic/sj3mkdic.h +++ b/src/sj4mkdic/sj4mkdic.h @@ -14,8 +14,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef SJ3MKDIC_H -#define SJ3MKDIC_H +#ifndef SJ4MKDIC_H +#define SJ4MKDIC_H #include #include @@ -25,7 +25,7 @@ #include #include -#include "sj3_dict_struct.h" +#include "sj4_dict_struct.h" /* char.c */ int cnvyomi(int); @@ -126,4 +126,4 @@ int string_cmp(u_char*, int, u_char*, int); void utf8_print(char*, int); int unicode_to_eucjp(int utf); -#endif /* SJ3MKDIC_H */ +#endif /* SJ4MKDIC_H */ diff --git a/src/sj3mkdic/string.c b/src/sj4mkdic/string.c similarity index 98% rename from src/sj3mkdic/string.c rename to src/sj4mkdic/string.c index 18a6759..5ce9329 100644 --- a/src/sj3mkdic/string.c +++ b/src/sj4mkdic/string.c @@ -33,9 +33,9 @@ * $SonyDate: 1994/06/03 08:00:45 $ */ -#include "sj3_dict_const.h" +#include "sj4_dict_const.h" -#include "sj3mkdic.h" +#include "sj4mkdic.h" #include "ucstable.h" diff --git a/src/sj3mkdic/ucstable.h b/src/sj4mkdic/ucstable.h similarity index 100% rename from src/sj3mkdic/ucstable.h rename to src/sj4mkdic/ucstable.h diff --git a/src/sj3test/main.c b/src/sj4test/main.c similarity index 81% rename from src/sj3test/main.c rename to src/sj4test/main.c index 1338590..d14455c 100644 --- a/src/sj3test/main.c +++ b/src/sj4test/main.c @@ -5,7 +5,12 @@ int main(int argc, char** argv) { int i = 0; char c[64 * 1024]; char b; - Sj3Context* ctx = alloccontext("dic.bin"); + Sj4Context* ctx = alloccontext("dic.bin"); + + if(ctx == NULL){ + fprintf(stderr, "Failed to create context\n"); + return 1; + } c[0] = 0;