Diff for /np2/common/milstr.h between versions 1.6 and 1.8

version 1.6, 2004/05/14 11:08:52 version 1.8, 2004/06/20 00:56:26
Line 1 Line 1
   
 #if (!defined(SUPPORT_ANK)) && (!defined(SUPPORT_SJIS)) && (!defined(SUPPORT_EUC))  
 #define SUPPORT_ANK  
 #define SUPPORT_SJIS  
 #define SUPPORT_EUC  
 #endif  
   
 #ifdef __cplusplus  #ifdef __cplusplus
 extern "C" {  extern "C" {
 #endif  #endif
   
   // 1文字分のサイズを取得
   int milank_charsize(const OEMCHAR *str);
   int milsjis_charsize(const char *str);
   int mileuc_charsize(const char *str);
   int milutf8_charsize(const char *str);
   
 // 大文字小文字を同一視して比較  // 大文字小文字を同一視して比較
 // ret 0:一致  // ret 0:一致
 int milank_cmp(const char *str, const char *cmp);  int milank_cmp(const OEMCHAR *str, const OEMCHAR *cmp);
 int milsjis_cmp(const char *str, const char *cmp);  int milsjis_cmp(const char *str, const char *cmp);
 int mileuc_cmp(const char *str, const char *cmp);  int mileuc_cmp(const char *str, const char *cmp);
   int milutf8_cmp(const char *str, const char *cmp);
   
 // 大文字小文字を 同一視してcmpのヌルまで比較  // 大文字小文字を 同一視してcmpのヌルまで比較
 // ret 0:一致  // ret 0:一致
 int milank_memcmp(const char *str, const char *cmp);  int milank_memcmp(const OEMCHAR *str, const OEMCHAR *cmp);
 int milsjis_memcmp(const char *str, const char *cmp);  int milsjis_memcmp(const char *str, const char *cmp);
 int mileuc_memcmp(const char *str, const char *cmp);  int mileuc_memcmp(const char *str, const char *cmp);
   int milutf8_memcmp(const char *str, const char *cmp);
   
 // str[pos]が漢字1バイト目かどうか…  // str[pos]が漢字1バイト目かどうか…
 int milsjis_kanji1st(const char *str, int pos);  int milsjis_kanji1st(const char *str, int pos);
 int mileuc_kanji1st(const char *str, int pos);  int mileuc_kanji1st(const char *str, int pos);
   int milutf8_kanji1st(const char *str, int pos);
   
 // str[pos]が漢字2バイト目かどうか…  // str[pos]が漢字2バイト目かどうか…
 int milsjis_kanji2nd(const char *str, int pos);  int milsjis_kanji2nd(const char *str, int pos);
 int mileuc_kanji2nd(const char *str, int pos);  int mileuc_kanji2nd(const char *str, int pos);
   int milutf8_kanji2nd(const char *str, int pos);
   
 // maxlen分だけ文字列をコピー  // maxlen分だけ文字列をコピー
 void milank_ncpy(char *dst, const char *src, int maxlen);  void milank_ncpy(OEMCHAR *dst, const OEMCHAR *src, int maxlen);
 void milsjis_ncpy(char *dst, const char *src, int maxlen);  void milsjis_ncpy(char *dst, const char *src, int maxlen);
 void mileuc_ncpy(char *dst, const char *src, int maxlen);  void mileuc_ncpy(char *dst, const char *src, int maxlen);
   void milutf8_ncpy(char *dst, const char *src, int maxlen);
   
 // maxlen分だけ文字列をキャット  // maxlen分だけ文字列をキャット
 void milank_ncat(char *dst, const char *src, int maxlen);  void milank_ncat(OEMCHAR *dst, const OEMCHAR *src, int maxlen);
 void milsjis_ncat(char *dst, const char *src, int maxlen);  void milsjis_ncat(char *dst, const char *src, int maxlen);
 void mileuc_ncat(char *dst, const char *src, int maxlen);  void mileuc_ncat(char *dst, const char *src, int maxlen);
   void milutf8_ncat(char *dst, const char *src, int maxlen);
   
 // 文字を検索  // 文字を検索
 char *milank_chr(const char *str, int c);  char *milank_chr(const OEMCHAR *str, int c);
 char *milsjis_chr(const char *str, int c);  char *milsjis_chr(const char *str, int c);
 char *mileuc_chr(const char *str, int c);  char *mileuc_chr(const char *str, int c);
   char *milutf8_chr(const char *str, int c);
   
   
 // 0~9, A~Z のみを大文字小文字を同一視して比較  // 0~9, A~Z のみを大文字小文字を同一視して比較
 // ret 0:一致  // ret 0:一致
 int milstr_extendcmp(const char *str, const char *cmp);  int milstr_extendcmp(const OEMCHAR *str, const OEMCHAR *cmp);
   
 // 次の語を取得  // 次の語を取得
 char *milstr_nextword(const char *str);  char *milstr_nextword(const OEMCHAR *str);
   
 // 文字列からARGの取得  // 文字列からARGの取得
 int milstr_getarg(char *str, char *arg[], int maxarg);  int milstr_getarg(OEMCHAR *str, OEMCHAR *arg[], int maxarg);
   
 // HEX2INT  // HEX2INT
 long milstr_solveHEX(const char *str);  long milstr_solveHEX(const OEMCHAR *str);
   
 // STR2INT  // STR2INT
 long milstr_solveINT(const char *str);  long milstr_solveINT(const OEMCHAR *str);
   
 // STRLIST  // STRLIST
 char *milstr_list(const char *lststr, UINT pos);  char *milstr_list(const OEMCHAR *lststr, UINT pos);
   
 #ifdef __cplusplus  #ifdef __cplusplus
 }  }
Line 73  char *milstr_list(const char *lststr, UI Line 80  char *milstr_list(const char *lststr, UI
   
 #if defined(OSLANG_SJIS)  #if defined(OSLANG_SJIS)
 #define ISKANJI1ST(c)                   ((((c ^ 0x20) - 0xa1) & 0xff) < 0x3c)  #define ISKANJI1ST(c)                   ((((c ^ 0x20) - 0xa1) & 0xff) < 0x3c)
   #define milstr_charsize(s)              milsjis_charsize(s)
 #define milstr_cmp(s, c)                milsjis_cmp(s, c)  #define milstr_cmp(s, c)                milsjis_cmp(s, c)
 #define milstr_memcmp(s, c)             milsjis_memcmp(s, c)  #define milstr_memcmp(s, c)             milsjis_memcmp(s, c)
 #define milstr_kanji1st(s, p)   milsjis_kanji1st(s, p)  #define milstr_kanji1st(s, p)   milsjis_kanji1st(s, p)
Line 82  char *milstr_list(const char *lststr, UI Line 90  char *milstr_list(const char *lststr, UI
 #define milstr_chr(s, c)                milsjis_chr(s, c)  #define milstr_chr(s, c)                milsjis_chr(s, c)
 #elif defined(OSLANG_EUC)  #elif defined(OSLANG_EUC)
 #define ISKANJI1ST(c)                   (((c - 0xa1) & 0xff) < 0x5d)  #define ISKANJI1ST(c)                   (((c - 0xa1) & 0xff) < 0x5d)
   #define milstr_charsize(s)              mileuc_charsize(s)
 #define milstr_cmp(s, c)                mileuc_cmp(s, c)  #define milstr_cmp(s, c)                mileuc_cmp(s, c)
 #define milstr_memcmp(s, c)             mileuc_memcmp(s, c)  #define milstr_memcmp(s, c)             mileuc_memcmp(s, c)
 #define milstr_kanji1st(s, p)   mileuc_kanji1st(s, p)  #define milstr_kanji1st(s, p)   mileuc_kanji1st(s, p)
Line 89  char *milstr_list(const char *lststr, UI Line 98  char *milstr_list(const char *lststr, UI
 #define milstr_ncpy(d, s, l)    mileuc_ncpy(d, s, l)  #define milstr_ncpy(d, s, l)    mileuc_ncpy(d, s, l)
 #define milstr_ncat(d, s, l)    mileuc_ncat(d, s, l)  #define milstr_ncat(d, s, l)    mileuc_ncat(d, s, l)
 #define milstr_chr(s, c)                mileuc_chr(s, c)  #define milstr_chr(s, c)                mileuc_chr(s, c)
   #elif defined(OSLANG_UTF8)
   #define milstr_charsize(s)              milutf8_charsize(s)
   #define milstr_cmp(s, c)                milutf8_cmp(s, c)
   #define milstr_memcmp(s, c)             milutf8_memcmp(s, c)
   #define milstr_kanji1st(s, p)   milutf8_kanji1st(s, p)
   #define milstr_kanji2nd(s, p)   milutf8_kanji2nd(s, p)
   #define milstr_ncpy(d, s, l)    milutf8_ncpy(d, s, l)
   #define milstr_ncat(d, s, l)    milutf8_ncat(d, s, l)
   #define milstr_chr(s, c)                milutf8_chr(s, c)
 #else  #else
 #define ISKANJI1ST(c)                   (0)  #define ISKANJI1ST(c)                   (0)
   #define milstr_charsize(s)              milank_charsize(s)
 #define milstr_cmp(s, c)                milank_cmp(s, c)  #define milstr_cmp(s, c)                milank_cmp(s, c)
 #define milstr_memcmp(s, c)             milank_memcmp(s, c)  #define milstr_memcmp(s, c)             milank_memcmp(s, c)
 #define milstr_kanji1st(s, p)   (0)  #define milstr_kanji1st(s, p)   (0)

Removed from v.1.6  
changed lines
  Added in v.1.8


RetroPC.NET-CVS <cvs@retropc.net>