OSDN Git Service

fix #42727
authorSHIRAKATA Kentaro <argrath@ub32.org>
Mon, 23 Aug 2021 11:35:29 +0000 (20:35 +0900)
committerSHIRAKATA Kentaro <argrath@ub32.org>
Fri, 3 Sep 2021 11:28:39 +0000 (20:28 +0900)
include/decl.h
japanese/jconj.c
src/cmd.c
src/hack.c
src/invent.c
src/mondata.c
src/objnam.c
src/read.c
src/steed.c
src/topten.c
src/trap.c

index 24a5634..1228a46 100644 (file)
@@ -476,6 +476,8 @@ struct trans_verb {
 
 /* hcolor()\82Í\8c`\97e\8e\8c\82ð\95Ô\82·\82Ì\82Å\95\9b\8e\8c\82É\95Ï\8a·\82·\82é */
 #define hcolor_adv(x) jconj_adj(hcolor((x)))
+/* \8cÅ\92è\95\8e\9a\97ñ\97pstrncmp */
+#define STRNCMP2(x, y) strncmp(x, y, strlen(y))
 #endif
 
 #undef E
index fee280b..bc4a986 100644 (file)
@@ -184,7 +184,7 @@ jconjsub( tab, jverb, sfx )
     len = strlen(jverb);
     strcpy((char *)tmp, jverb );
 
-    if(!strncmp(sfx, "\82Æ", 2)){
+    if(!STRNCMP2(sfx, "\82Æ")){
         strcat((char *)tmp, sfx);
         return (char *)tmp;
     }
@@ -192,7 +192,7 @@ jconjsub( tab, jverb, sfx )
     switch( tab->katsuyo_type ){
       case FIFTH:
         p = tmp + (len - 2);
-        if(!strncmp(sfx, "\82È", 2)){
+        if(!STRNCMP2(sfx, "\82È")){
             if(!IC){
                 p[0] = 0xa4;
                 p[1] = hira_tab[tab->column][1];
@@ -203,7 +203,7 @@ jconjsub( tab, jverb, sfx )
             strcpy((char *)p + 2, sfx);
             break;
         }
-        else if(!strncmp(sfx, "\82½", 2) || !strncmp(sfx, "\82Ä", 2)){
+        else if(!STRNCMP2(sfx, "\82½") || !STRNCMP2(sfx, "\82Ä")){
             switch( tab->onbin_type ){
               case NORMAL:
                 if(!IC){
@@ -246,7 +246,7 @@ jconjsub( tab, jverb, sfx )
             }
             break;
         }
-        else if(!strncmp(sfx, "\82Î", 2)){
+        else if(!STRNCMP2(sfx, "\82Î")){
             if(!IC){
                 p[1] = hira_tab[tab->column + 3][1];
             } else {
@@ -254,7 +254,7 @@ jconjsub( tab, jverb, sfx )
             }
             strcpy((char *)p + 2, sfx);
         }
-        else if(!strncmp(sfx, "\82ê", 2)){
+        else if(!STRNCMP2(sfx, "\82ê")){
             if(!IC){
                 p[1]=hira_tab[tab->column + 3][1];
             } else {
@@ -262,7 +262,7 @@ jconjsub( tab, jverb, sfx )
             }
             strcpy((char *)p + 2, sfx + 2);
         }
-        else if(!strncmp(sfx, "\82Ü", 2)) {
+        else if(!STRNCMP2(sfx, "\82Ü")) {
             if(!IC){
                 p[1] = hira_tab[tab->column + 1][1];
             } else {
@@ -271,7 +271,7 @@ jconjsub( tab, jverb, sfx )
             strcpy((char *)p + 2, sfx);
             break;
         }
-        else if(!strncmp(sfx, "\82æ", 2)) {
+        else if(!STRNCMP2(sfx, "\82æ")) {
             if(!IC){
                 p[1] = hira_tab[tab->column + 4][1];
             } else {
@@ -285,11 +285,11 @@ jconjsub( tab, jverb, sfx )
       case UPPER:
       case KAHEN:
         p = tmp + (len - 2);
-        if(!strncmp(sfx, "\82Î", 2)){
+        if(!STRNCMP2(sfx, "\82Î")){
             strcpy((char *)p, "\82ê");
             strcpy((char *)p + 2, sfx);
         }
-        else if(!strncmp(sfx, "\82ê", 2) && tab->katsuyo_type == LOWER){
+        else if(!STRNCMP2(sfx, "\82ê") && tab->katsuyo_type == LOWER){
             strcpy((char *)p, "\82ç");
             strcpy((char *)p + 2, sfx);
         }
@@ -298,15 +298,15 @@ jconjsub( tab, jverb, sfx )
         break;
       case SAHEN:
         p = tmp + (len - 4);
-        if(!strncmp(sfx, "\82È", 2) ||
-           !strncmp(sfx, "\82Ü", 2) ||
-           !strncmp(sfx, "\82½", 2) ||
-           !strncmp(sfx, "\82Ä", 2) ||
-           !strncmp(sfx, "\82æ", 2)){
+        if(!STRNCMP2(sfx, "\82È") ||
+           !STRNCMP2(sfx, "\82Ü") ||
+           !STRNCMP2(sfx, "\82½") ||
+           !STRNCMP2(sfx, "\82Ä") ||
+           !STRNCMP2(sfx, "\82æ")){
             strcpy((char *)p, "\82µ");
             strcpy((char *)p + 2, sfx);
         }
-        else if(!strncmp(sfx, "\82Î", 2) || !strncmp(sfx, "\82ê\82Î", 4)){
+        else if(!STRNCMP2(sfx, "\82Î") || !STRNCMP2(sfx, "\82ê\82Î")){
             strcpy((char *)p, "\82·\82ê\82Î");
         }
         break;
index b4a53cb..a1d80d4 100644 (file)
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -3550,9 +3550,9 @@ int final;
         enl_msg(You_, "could be", "could have been", " clairvoyant", buf);
 #else
         /*JP:\81u\81c\82É\82æ\82Á\82Ä\81v*/
-        if (!strncmp(buf, "\82É\82æ\82Á\82Ä", 8))
+        if (!STRNCMP2(buf, "\82É\82æ\82Á\82Ä"))
             /*JP:\81u\81c\82ª\82È\82¯\82ê\82Î\81v\82É\8f\91\82«\8a·\82¦\82é*/
-            strcpy(eos(buf) - 8, "\82ª\82È\82¯\82ê\82Î");
+            strcpy(eos(buf) - strlen("\82É\82æ\82Á\82Ä"), "\82ª\82È\82¯\82ê\82Î");
         you_have("\90ç\97¢\8aá\94\\97Í", buf);
 #endif
     }
index 2283d5d..e664f60 100644 (file)
@@ -3582,7 +3582,7 @@ const char *msg_override;
         if (Upolyd && !strncmpi(nomovemsg, "You survived that ", 18))
             You("are %s.", an(mons[u.umonnum].mname)); /* (ignore Hallu) */
 #else
-        if (Upolyd && !strncmpi(nomovemsg, "\82 \82È\82½\82Í\90\82«\82È\82ª\82ç", 18))
+        if (Upolyd && !STRNCMP2(nomovemsg, "\82 \82È\82½\82Í\90\82«\82È\82ª\82ç"))
             You("%s\82¾\81D", mons[u.umonnum].mname); /* (ignore Hallu) */
 #endif
     }
index 7578c78..7520708 100644 (file)
@@ -1694,7 +1694,7 @@ register const char *let, *word;
 /*JP
         You("don't have anything %sto %s.", foox ? "else " : "", word);
 */
-        You("%s%s\82à\82Ì\82ð\8e\9d\82Á\82Ä\82¢\82È\82¢\81D", foox ? "\91¼\82É" : "", jconj(jword, "\82ê\82é"));
+        You("%s%s\82à\82Ì\82ð\8e\9d\82Á\82Ä\82¢\82È\82¢\81D", foox ? "\91¼\82É" : "", jcan(jword));
         return (struct obj *) 0;
     } else if (!strcmp(word, "write on")) { /* ugly check for magic marker */
         /* we wanted all scrolls and books in altlets[], but that came with
@@ -3768,7 +3768,7 @@ boolean picked_some;
 /*JP
         if (dfeature && !strncmp(dfeature, "altar ", 6)) {
 */
-        if (dfeature && !strncmp(dfeature, "\8dÕ\92d", 4)) {
+        if (dfeature && !STRNCMP2(dfeature, "\8dÕ\92d")) {
             /* don't say "altar" twice, dfeature has more info */
 /*JP
             You("try to feel what is here.");
index bd32a47..0d09fc1 100644 (file)
@@ -810,7 +810,7 @@ const char *in_str;
                            || !strcmpi(&str[m_i_len], "es")
                            || !strncmpi(&str[m_i_len], "es ", 3))) {
 #else
-                       && !strncmp(&str[m_i_len], "\82Ì", 2)) {
+                       && !STRNCMP2(&str[m_i_len], "\82Ì")) {
 #endif
                 mntmp = i;
                 len = m_i_len;
index 10adf16..91fe4f1 100644 (file)
@@ -52,6 +52,9 @@ struct Jitem {
 #define BSTRNCMPI(base, ptr, str, num) \
     ((ptr) < base || strncmpi((ptr), str, num))
 #define Strcasecpy(dst, src) (void) strcasecpy(dst, src)
+#if 1 /*JP*/
+#define STRNCMPEX(x, y) strncmp(x, y, l = strlen(y))
+#endif
 
 /* true for gems/rocks that should have " stone" appended to their names */
 #define GemStone(typ)                                                  \
@@ -1077,6 +1080,9 @@ struct obj *obj;
     struct obj bareobj;
     struct objclass saveobcls;
     int otyp = obj->otyp;
+#if 1 /*JP*/
+    int l = 0;
+#endif
 
     /* suppress user-supplied name */
     saveobcls.oc_uname = objects[otyp].oc_uname;
@@ -1105,12 +1111,12 @@ struct obj *obj;
         bareobj.spe = obj->spe;
 
     bufp = distant_name(&bareobj, xname); /* xname(&bareobj) */
-#if 0 /*JP:T*/
+#if 0 /*JP*/
     if (!strncmp(bufp, "uncursed ", 9))
         bufp += 9; /* Role_if(PM_PRIEST) */
 #else
-    if (!strncmp(bufp, "\8eô\82í\82ê\82Ä\82¢\82È\82¢", 14))
-        bufp += 14; /* Role_if(PM_PRIEST) */
+    if (!STRNCMPEX(bufp, "\8eô\82í\82ê\82Ä\82¢\82È\82¢"))
+        bufp += l; /* Role_if(PM_PRIEST) */
 #endif
 
     objects[otyp].oc_uname = saveobcls.oc_uname;
@@ -1308,8 +1314,9 @@ unsigned doname_flags;
                                 end (Strcat is used on the end) */
 #endif
     register char *bp = xname(obj);
-#if 1 /*JP*//*\8f\87\8f\98\93ü\82ê\91Ö\82¦\82É\8eg\82¤*/
-    char preprefix[PREFIX];
+#if 1 /*JP*/
+    char preprefix[PREFIX]; /*\8f\87\8f\98\93ü\82ê\91Ö\82¦\82É\8eg\82¤*/
+    int l = 0;
 #endif
 
     if (iflags.override_ID) {
@@ -1334,8 +1341,8 @@ unsigned doname_flags;
         ispoisoned = TRUE;
     }
 #else
-    if (!strncmp(bp, "\93Å\82Ì\93h\82ç\82ê\82½", 12) && obj->opoisoned) {
-        bp += 12;
+    if (!STRNCMPEX(bp, "\93Å\82Ì\93h\82ç\82ê\82½") && obj->opoisoned) {
+        bp += l;
         ispoisoned = TRUE;
     }
 #endif
@@ -3679,13 +3686,13 @@ struct obj *no_wish;
                 bp++;
             l = 0;
 #if 1 /*JP*//* \8cã\82É\90\94\8e\8c\82ª\82 \82é\82Æ\82«\82Í\8dí\8f\9c */
-            if(!strncmp(bp, "\8dû\82Ì", l = 4) ||
-               !strncmp(bp, "\96{\82Ì", l = 4) ||
-               !strncmp(bp, "\92\85\82Ì", l = 4) ||
-               !strncmp(bp, "\8cÂ\82Ì", l = 4) ||
-               !strncmp(bp, "\96\87\82Ì", l = 4) ||
-               !strncmp(bp, "\82Â\82Ì", l = 4) ||
-               !strncmp(bp, "\82Ì", l = 2))
+            if(!STRNCMPEX(bp, "\8dû\82Ì") ||
+               !STRNCMPEX(bp, "\96{\82Ì") ||
+               !STRNCMPEX(bp, "\92\85\82Ì") ||
+               !STRNCMPEX(bp, "\8cÂ\82Ì") ||
+               !STRNCMPEX(bp, "\96\87\82Ì") ||
+               !STRNCMPEX(bp, "\82Â\82Ì") ||
+               !STRNCMPEX(bp, "\82Ì"))
               ;
             else
               l = 0;
@@ -3702,20 +3709,20 @@ struct obj *no_wish;
         } else if (!strncmpi(bp, "blessed ", l = 8)
                    || !strncmpi(bp, "holy ", l = 5)) {
 #else
-        } else if (!strncmpi(bp, "\8fj\95\9f\82³\82ê\82½", l = 10)) {
+        } else if (!STRNCMPEX(bp, "\8fj\95\9f\82³\82ê\82½")) {
 #endif
             blessed = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "moist ", l = 6)
                    || !strncmpi(bp, "wet ", l = 4)) {
 #else
-        } else if (!strncmpi(bp, "\8e¼\82Á\82½", l = 6)
-                   || !strncmpi(bp, "\94G\82ê\82½", l = 6)) {
+        } else if (!STRNCMPEX(bp, "\8e¼\82Á\82½")
+                   || !STRNCMPEX(bp, "\94G\82ê\82½")) {
 #endif
 #if 0 /*JP:T*/
             if (!strncmpi(bp, "wet ", 4))
 #else
-            if (!strncmpi(bp, "\94G\82ê\82½", 6))
+            if (!STRNCMP2(bp, "\94G\82ê\82½"))
 #endif
                 wetness = rn2(3) + 3;
             else
@@ -3724,13 +3731,13 @@ struct obj *no_wish;
         } else if (!strncmpi(bp, "cursed ", l = 7)
                    || !strncmpi(bp, "unholy ", l = 7)) {
 #else
-        } else if (!strncmpi(bp, "\8eô\82í\82ê\82½", l = 8)) {
+        } else if (!STRNCMPEX(bp, "\8eô\82í\82ê\82½")) {
 #endif
             iscursed = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "uncursed ", l = 9)) {
 #else
-        } else if (!strncmpi(bp, "\8eô\82í\82ê\82Ä\82¢\82È\82¢", l = 14)) {
+        } else if (!STRNCMPEX(bp, "\8eô\82í\82ê\82Ä\82¢\82È\82¢")) {
 #endif
             uncursed = 1;
 #if 0 /*JP:T*/
@@ -3741,25 +3748,25 @@ struct obj *no_wish;
                    || !strncmpi(bp, "fireproof ", l = 10)
                    || !strncmpi(bp, "rotproof ", l = 9)) {
 #else
-        } else if (!strncmpi(bp, "\8eK\82Ñ\82È\82¢", l = 8)
-                   || !strncmpi(bp, "\95\85\90H\82µ\82È\82¢", l = 10)
-                   || !strncmpi(bp, "\88À\92è\82µ\82½", l = 8)
-                   || !strncmpi(bp, "\94R\82¦\82È\82¢", l = 8)) {
+        } else if (!STRNCMPEX(bp, "\8eK\82Ñ\82È\82¢")
+                   || !STRNCMPEX(bp, "\95\85\90H\82µ\82È\82¢")
+                   || !STRNCMPEX(bp, "\88À\92è\82µ\82½")
+                   || !STRNCMPEX(bp, "\94R\82¦\82È\82¢")) {
 #endif
             erodeproof = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "lit ", l = 4)
                    || !strncmpi(bp, "burning ", l = 8)) {
 #else
-        } else if (!strncmpi(bp, "\8cõ\82Á\82Ä\82¢\82é", l = 10)
-                   || !strncmpi(bp, "\94R\82¦\82Ä\82¢\82é", l = 10)) {
+        } else if (!STRNCMPEX(bp, "\8cõ\82Á\82Ä\82¢\82é")
+                   || !STRNCMPEX(bp, "\94R\82¦\82Ä\82¢\82é")) {
 #endif
             islit = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "unlit ", l = 6)
                    || !strncmpi(bp, "extinguished ", l = 13)) {
 #else
-        } else if (!strncmpi(bp, "\8fÁ\82¦\82Ä\82¢\82é", l = 10)) {
+        } else if (!STRNCMPEX(bp, "\8fÁ\82¦\82Ä\82¢\82é")) {
 #endif
             islit = 0;
             /* "unlabeled" and "blank" are synonymous */
@@ -3768,14 +3775,14 @@ struct obj *no_wish;
                    || !strncmpi(bp, "unlabelled ", l = 11)
                    || !strncmpi(bp, "blank ", l = 6)) {
 #else
-        } else if (!strncmpi(bp, "\83\89\83x\83\8b\82Ì\82È\82¢", l = 12)
-                   || !strncmpi(bp, "\90^\82Á\94\92\82È", l = 8)) {
+        } else if (!STRNCMPEX(bp, "\83\89\83x\83\8b\82Ì\82È\82¢")
+                   || !STRNCMPEX(bp, "\90^\82Á\94\92\82È")) {
 #endif
             unlabeled = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "poisoned ", l = 9)) {
 #else
-        } else if (!strncmpi(bp, "\93Å\82Ì\93h\82ç\82ê\82½", l = 12)) {
+        } else if (!STRNCMPEX(bp, "\93Å\82Ì\93h\82ç\82ê\82½")) {
 #endif
             ispoisoned = 1;
             /* "trapped" recognized but not honored outside wizard mode */
@@ -3789,39 +3796,39 @@ struct obj *no_wish;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "locked ", l = 7)) {
 #else
-        } else if (!strncmpi(bp, "\8c®\82Ì\8a|\82©\82Á\82½", l = 12)) {
+        } else if (!STRNCMPEX(bp, "\8c®\82Ì\8a|\82©\82Á\82½")) {
 #endif
             locked = 1, unlocked = broken = 0;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "unlocked ", l = 9)) {
 #else
-        } else if (!strncmpi(bp, "\8c®\82Ì\8a|\82©\82Á\82Ä\82¢\82È\82¢", l = 18)) {
+        } else if (!STRNCMPEX(bp, "\8c®\82Ì\8a|\82©\82Á\82Ä\82¢\82È\82¢")) {
 #endif
             unlocked = 1, locked = broken = 0;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "broken ", l = 7)) {
 #else
-        } else if (!strncmpi(bp, "\8c®\82Ì\89ó\82ê\82½", l = 10)) {
+        } else if (!STRNCMPEX(bp, "\8c®\82Ì\89ó\82ê\82½")) {
 #endif
             broken = 1, locked = unlocked = 0;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "greased ", l = 8)) {
 #else
-        } else if (!strncmpi(bp, "\96û\82Ì\93h\82ç\82ê\82½", l = 12)
-                   || !strncmpi(bp, "\8e\89\82Ì\93h\82ç\82ê\82½", l = 12)) {
+        } else if (!STRNCMPEX(bp, "\96û\82Ì\93h\82ç\82ê\82½")
+                   || !STRNCMPEX(bp, "\8e\89\82Ì\93h\82ç\82ê\82½")) {
 #endif
             isgreased = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "very ", l = 5)) {
 #else
-        } else if (!strncmpi(bp, "\82Æ\82Ä\82à", l = 6)) {
+        } else if (!STRNCMPEX(bp, "\82Æ\82Ä\82à")) {
 #endif
             /* very rusted very heavy iron ball */
             very = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "thoroughly ", l = 11)) {
 #else
-        } else if (!strncmpi(bp, "\82©\82È\82è", l = 6)) {
+        } else if (!STRNCMPEX(bp, "\82©\82È\82è")) {
 #endif
             very = 2;
 #if 0 /*JP:T*/
@@ -3830,8 +3837,8 @@ struct obj *no_wish;
                    || !strncmpi(bp, "burnt ", l = 6)
                    || !strncmpi(bp, "burned ", l = 7)) {
 #else
-        } else if (!strncmpi(bp, "\8eK\82Ñ\82½", l = 6)
-                   || !strncmpi(bp, "\94R\82¦\82½", l = 6)) {
+        } else if (!STRNCMPEX(bp, "\8eK\82Ñ\82½")
+                   || !STRNCMPEX(bp, "\94R\82¦\82½")) {
 #endif
             eroded = 1 + very;
             very = 0;
@@ -3839,8 +3846,8 @@ struct obj *no_wish;
         } else if (!strncmpi(bp, "corroded ", l = 9)
                    || !strncmpi(bp, "rotted ", l = 7)) {
 #else
-        } else if (!strncmpi(bp, "\95\85\90H\82µ\82½", l = 8)
-                   || !strncmpi(bp, "\95\85\82Á\82½", l = 6)) {
+        } else if (!STRNCMPEX(bp, "\95\85\90H\82µ\82½")
+                   || !STRNCMPEX(bp, "\95\85\82Á\82½")) {
 #endif
             eroded2 = 1 + very;
             very = 0;
@@ -3848,31 +3855,31 @@ struct obj *no_wish;
         } else if (!strncmpi(bp, "partly eaten ", l = 13)
                    || !strncmpi(bp, "partially eaten ", l = 16)) {
 #else
-        } else if (!strncmpi(bp, "\90H\82×\82©\82¯\82Ì", l = 10)) {
+        } else if (!STRNCMPEX(bp, "\90H\82×\82©\82¯\82Ì")) {
 #endif
             halfeaten = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "historic ", l = 9)) {
 #else
-        } else if (!strncmpi(bp, "\97ð\8ej\93I\82È", l = 8)) {
+        } else if (!STRNCMPEX(bp, "\97ð\8ej\93I\82È")) {
 #endif
             ishistoric = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "diluted ", l = 8)) {
 #else
-        } else if (!strncmpi(bp, "\94\96\82Ü\82Á\82½", l = 8)) {
+        } else if (!STRNCMPEX(bp, "\94\96\82Ü\82Á\82½")) {
 #endif
             isdiluted = 1;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "empty ", l = 6)) {
 #else
-        } else if (!strncmpi(bp, "\8bó\82Á\82Û\82Ì", l = 8)) {
+        } else if (!STRNCMPEX(bp, "\8bó\82Á\82Û\82Ì")) {
 #endif
             contents = EMPTY;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "small ", l = 6)) { /* glob sizes */
 #else
-        } else if (!strncmpi(bp, "\8f¬\82³\82¢", l = 6)) { /* glob sizes */
+        } else if (!STRNCMPEX(bp, "\8f¬\82³\82¢")) { /* glob sizes */
 #endif
             /* "small" might be part of monster name (mimic, if wishing
                for its corpse) rather than prefix for glob size; when
@@ -3885,7 +3892,7 @@ struct obj *no_wish;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "medium ", l = 7)) {
 #else
-        } else if (!strncmpi(bp, "\92\86\82­\82ç\82¢\82Ì", l = 10)) {
+        } else if (!STRNCMPEX(bp, "\92\86\82­\82ç\82¢\82Ì")) {
 #endif
             /* xname() doesn't display "medium" but without this
                there'd be no way to ask for the intermediate size
@@ -3894,7 +3901,7 @@ struct obj *no_wish;
 #if 0 /*JP:T*/
         } else if (!strncmpi(bp, "large ", l = 6)) {
 #else
-        } else if (!strncmpi(bp, "\91å\82«\82¢", l = 6)) {
+        } else if (!STRNCMPEX(bp, "\91å\82«\82¢")) {
 #endif
             /* "large" might be part of monster name (dog, cat, koboold,
                mimic) or object name (box, round shield) rather than
@@ -4113,7 +4120,8 @@ struct obj *no_wish;
     {
         /*JP \81u(\89ö\95¨\96¼)\82Ì\89ò\81v\82Í\8cÂ\81X\82ÉID\82ª\82 \82é\82Ì\82Å\95Ê\88µ\82¢ */
         int l = strlen(bp);
-        if (l > 4 && strncmp(bp + l - 4, "\82Ì\89ò", 4) == 0) {
+        int l2 = strlen("\82Ì\89ò");
+        if (l > 4 && strncmp(bp + l - l2, "\82Ì\89ò", l2) == 0) {
             if ((mntmp = name_to_mon(bp)) >= PM_GRAY_OOZE
                 && mntmp <= PM_BLACK_PUDDING) {
                 mntmp = NON_PM; /* lie to ourselves */
index 1ff7256..69dacbb 100644 (file)
@@ -3180,7 +3180,7 @@ struct _create_particular_data *d;
     if (!strncmpi(bufp, "tame ", 5)) {
         bufp += 5;
 #else
-    if (!strncmpi(bufp, "\8eè\82È\82¸\82¯\82ç\82ê\82½", 14)) {
+    if (!STRNCMP2(bufp, "\8eè\82È\82¸\82¯\82ç\82ê\82½")) {
         bufp += 14;
 #endif
         d->maketame = TRUE;
@@ -3188,7 +3188,7 @@ struct _create_particular_data *d;
     } else if (!strncmpi(bufp, "peaceful ", 9)) {
         bufp += 9;
 #else
-    } else if (!strncmpi(bufp, "\97F\8dD\93I\82È", 8)) {
+    } else if (!STRNCMP2(bufp, "\97F\8dD\93I\82È")) {
         bufp += 8;
 #endif
         d->makepeaceful = TRUE;
@@ -3196,7 +3196,7 @@ struct _create_particular_data *d;
     } else if (!strncmpi(bufp, "hostile ", 8)) {
         bufp += 8;
 #else
-    } else if (!strncmpi(bufp, "\93G\91Î\93I\82È", 8)) {
+    } else if (!STRNCMP2(bufp, "\93G\91Î\93I\82È")) {
         bufp += 8;
 #endif
         d->makehostile = TRUE;
index 5af92e0..49b1686 100644 (file)
@@ -150,14 +150,14 @@ struct obj *otmp;
 /*JP
              && !strncmp(s, "riding ", 7))
 */
-             && !strncmp(s, "\8fæ\94n\97p\82Ì", 8))
+             && !STRNCMP2(s, "\8fæ\94n\97p\82Ì"))
         /* Bonus for wearing "riding" (but not fumbling) gloves */
         chance += 10;
     else if (uarmf && (s = OBJ_DESCR(objects[uarmf->otyp])) != (char *) 0
 /*JP
              && !strncmp(s, "riding ", 7))
 */
-             && !strncmp(s, "\8fæ\94n\97p\82Ì", 8))
+             && !STRNCMP2(s, "\8fæ\94n\97p\82Ì"))
         /* ... or for "riding boots" */
         chance += 10;
     if (otmp->cursed)
index ff51497..aa5de5c 100644 (file)
@@ -919,17 +919,17 @@ boolean so;
         Strcat(linebuf, "\82Í");
 /*JP: \93ú\96{\8cê\82Å\82Í\81u\81\9b\81\9b\82ð\8eè\82É\81v\82ð\90æ\82É\92Ç\89Á\82µ\82È\82¢\82Æ\95s\8e©\91R */
         jdeath = t1->death;
-        if (!strncmp(jdeath, "\96\82\8f\9c\82¯\82ð\8eè\82É", 12))
+        if (!STRNCMP2(jdeath, "\96\82\8f\9c\82¯\82ð\8eè\82É"))
             jdeath += 12;
-        else if (!strncmp(jdeath, "\93V\8fã\82Å\92p\90J\82ð\8eó\82¯", 16))
+        else if (!STRNCMP2(jdeath, "\93V\8fã\82Å\92p\90J\82ð\8eó\82¯"))
             jdeath += 16;
-        else if (!strncmp(jdeath, "\8bU\95¨\82Ì\96\82\8f\9c\82¯\82ð\92Í\82Ü\82³\82ê", 24))
+        else if (!STRNCMP2(jdeath, "\8bU\95¨\82Ì\96\82\8f\9c\82¯\82ð\92Í\82Ü\82³\82ê"))
             jdeath += 24;
 #endif
 #if 0 /*JP*/
     if (!strncmp("escaped", t1->death, 7)) {
 #else
-    if (!strncmp("\92E\8fo\82µ\82½", jdeath, 8)
+    if (!STRNCMP2("\92E\8fo\82µ\82½", jdeath)
         || !strncmp("escaped", jdeath, 7)) {
 #endif
 #if 0 /*JP*/
@@ -950,7 +950,7 @@ boolean so;
 #if 0 /*JP*/
     } else if (!strncmp("ascended", t1->death, 8)) {
 #else
-    } else if (!strncmp("\8f¸\93V\82µ\82½", jdeath, 8)
+    } else if (!STRNCMP2("\8f¸\93V\82µ\82½", jdeath)
                || !strncmp("ascended", jdeath, 8)) {
 #endif
 #if 0 /*JP:T*/
@@ -965,7 +965,7 @@ boolean so;
 /*JP
         if (!strncmp(t1->death, "quit", 4)) {
 */
-        if (!strncmp(jdeath, "\94²\82¯\82½", 4)) {
+        if (!STRNCMP2(jdeath, "\94²\82¯\82½")) {
 #if 0 /*JP*/
             Strcat(linebuf, "quit");
 #else
index b5dba11..3dd4ef8 100644 (file)
@@ -6774,9 +6774,9 @@ unconscious()
 */
     return (boolean) (u.usleep
                       || (nomovemsg
-                          && (!strncmp(nomovemsg, "\96Ú\82ª\82³\82ß\82½\82ª\93ª\92É", 18)
-                              || !strncmp(nomovemsg, "\82 \82È\82½\82Í\90³\8bC\82Ã\82¢\82½", 18)
-                              || !strncmp(nomovemsg, "\82 \82È\82½\82Í\82Ü\82½\90³\8bC\82Ã", 18))));
+                          && (!STRNCMP2(nomovemsg, "\96Ú\82ª\82³\82ß\82½\82ª\93ª\92É")
+                              || !STRNCMP2(nomovemsg, "\82 \82È\82½\82Í\90³\8bC\82Ã\82¢\82½")
+                              || !STRNCMP2(nomovemsg, "\82 \82È\82½\82Í\82Ü\82½\90³\8bC\82Ã"))));
 #endif
 }