]> git.pond.sub.org Git - empserver/blobdiff - src/lib/common/nstr_subs.c
Indented with src/scripts/indent-emp.
[empserver] / src / lib / common / nstr_subs.c
index efff7479eb70a1067869df65f400a8015a87e99c..2ca2400d907ef3d5855d9615a2e7c102fc5d83fb 100644 (file)
 int
 nstr_exec(struct nscstr *conds, register int ncond, void *ptr, int type)
 {
-       register struct nscstr *nsc;
-       register int op;
-       register int lhs;
-       register int rhs;
-       register int oper;
+    register struct nscstr *nsc;
+    register int op;
+    register int lhs;
+    register int rhs;
+    register int oper;
 
-       for (nsc=conds; --ncond >= 0; nsc++) {
-               oper = nsc->oper;
-               if (oper > 65535) {
-                   oper = oper - 65535;
-                   rhs = nsc->fld2;
-               } else
-                   rhs = decode(player->cnum, nsc->fld2, ptr, type);
+    for (nsc = conds; --ncond >= 0; nsc++) {
+       oper = nsc->oper;
+       if (oper > 65535) {
+           oper = oper - 65535;
+           rhs = nsc->fld2;
+       } else
+           rhs = decode(player->cnum, nsc->fld2, ptr, type);
 
-               if (oper > 255) {
-                   oper = oper - 255;
-                   lhs = nsc->fld1;
-               } else
-                   lhs = decode(player->cnum, nsc->fld1, ptr, type);
+       if (oper > 255) {
+           oper = oper - 255;
+           lhs = nsc->fld1;
+       } else
+           lhs = decode(player->cnum, nsc->fld1, ptr, type);
 
-               op = oper;
-               if ((op == '<' && lhs >= rhs) ||
-                   (op == '=' && lhs != rhs) ||
-                   (op == '>' && lhs <= rhs) ||
-                   (op == '#' && lhs == rhs))
-                       return 0;
-       }
-       return 1;
+       op = oper;
+       if ((op == '<' && lhs >= rhs) ||
+           (op == '=' && lhs != rhs) ||
+           (op == '>' && lhs <= rhs) || (op == '#' && lhs == rhs))
+           return 0;
+    }
+    return 1;
 }
 
 int
 decode(natid cnum, long int code, void *addr, int type)
 {
-       register int val;
-       register int nsc_code;
-       struct natstr *np;
-       long code_type = (code & NSC_TMASK);
+    register int val;
+    register int nsc_code;
+    struct natstr *np;
+    long code_type = (code & NSC_TMASK);
+
+    val = (code & ~NSC_MASK) & 0xffff;
 
-       val = (code & ~NSC_MASK) & 0xffff;
+    /* handle negative numbers properly */
+    /* this assumes a binary two's complement number representation */
+    if (val >= 0x8000)
+       val -= 0x10000;
 
-       /* handle negative numbers properly */
-       /* this assumes a binary two's complement number representation */
-       if (val>=0x8000) val -= 0x10000;
-       
-       nsc_code = code & NSC_CMASK;
-       if (nsc_code == NSC_VAR) {
-               val = getvar(val, addr, type);
-       } else if (nsc_code == NSC_OFF) {
-               /*
-                * add offset to value
-                */
-               addr = (s_char *)addr + val;
-               switch (code_type) {
-               case NSC_TIME:
-                       val = *((time_t *)addr);
-                       break;
-               case NSC_CHAR:
-                       val = *((s_char *) addr);
-                       break;
-               case NSC_UCHAR:
-                       val = (int) *((unsigned char *) addr);
-                       break;
-               case NSC_SHORT:
-                       val = *((short *) addr);
-                       break;
-               case NSC_USHORT:
-                       val = *((u_short *) addr);
-                       break;
-               case NSC_INT:
-                       val = *((int *) addr);
-                       break;
-               case NSC_LONG:
-                       val = *((long *) addr);
-                       break;
-               case NSC_XCOORD:
-                       val = *((short *) addr);
-                       np = getnatp(cnum);
-                       val = xrel(np, val);
-                       break;
-               case NSC_YCOORD:
-                       val = *((short *) addr);
-                       np = getnatp(cnum);
-                       val = yrel(np, val);
-                       break;
-               default:
-                       logerror("bad type in decode: %x!\n",
-                               code & NSC_TMASK);
-                       val = 0;
-                       break;
-               }
+    nsc_code = code & NSC_CMASK;
+    if (nsc_code == NSC_VAR) {
+       val = getvar(val, addr, type);
+    } else if (nsc_code == NSC_OFF) {
+       /*
+        * add offset to value
+        */
+       addr = (s_char *)addr + val;
+       switch (code_type) {
+       case NSC_TIME:
+           val = *((time_t *) addr);
+           break;
+       case NSC_CHAR:
+           val = *((s_char *)addr);
+           break;
+       case NSC_UCHAR:
+           val = (int)*((unsigned char *)addr);
+           break;
+       case NSC_SHORT:
+           val = *((short *)addr);
+           break;
+       case NSC_USHORT:
+           val = *((u_short *)addr);
+           break;
+       case NSC_INT:
+           val = *((int *)addr);
+           break;
+       case NSC_LONG:
+           val = *((long *)addr);
+           break;
+       case NSC_XCOORD:
+           val = *((short *)addr);
+           np = getnatp(cnum);
+           val = xrel(np, val);
+           break;
+       case NSC_YCOORD:
+           val = *((short *)addr);
+           np = getnatp(cnum);
+           val = yrel(np, val);
+           break;
+       default:
+           logerror("bad type in decode: %x!\n", code & NSC_TMASK);
+           val = 0;
+           break;
        }
-       if (code & NSC_ROUND)
-               val = roundintby(val, 10);
-       return val;
+    }
+    if (code & NSC_ROUND)
+       val = roundintby(val, 10);
+    return val;
 }
 
 s_char *
 decodep(long int code, void *addr)
 {
-       addr = (char *)addr + ((code & ~NSC_MASK) & 0xffff);
+    addr = (char *)addr + ((code & ~NSC_MASK) & 0xffff);
 
-       if ((code & NSC_TMASK) == NSC_CHARP)
-               return *(s_char **)addr?*((s_char **)addr):(s_char *)"";
-       return addr;
+    if ((code & NSC_TMASK) == NSC_CHARP)
+       return *(s_char **)addr ? *((s_char **)addr) : (s_char *)"";
+    return addr;
 }