* as/as_gbz80.dsp, as/z80/as_gbz80.dsp,
[fw/sdcc] / as / z80 / assym.c
index cc7c08f71fae9df7fb9c880fdf3fd99281bec8e8..771f5320bffbe4e8ff30ff697773f0b125d1ee19 100644 (file)
@@ -12,7 +12,7 @@
 #include <stdio.h>
 #include <setjmp.h>
 #include <string.h>
-#include <alloc.h>
+#include <stdlib.h>
 #include "asm.h"
 
 /*)Module      assym.c
@@ -181,7 +181,7 @@ char *id;
        h = hash(id);
        mp = mnehash[h];
        while (mp) {
-               if (symeq(id, mp->m_id))
+               if (as_strcmpi(id, mp->m_id) == 0)      /* JLH: case insensitive */
                        return (mp);
                mp = mp->m_mp;
        }
@@ -353,7 +353,7 @@ register char *p1, *p2;
                if (*p1++ != *p2++)
                        return (0);
 #else
-               if (ccase[*p1++] != ccase[*p2++])
+               if (ccase[(unsigned char)(*p1++)] != ccase[(unsigned char)(*p2++)])
                        return (0);
 #endif
 
@@ -382,7 +382,7 @@ register char *p1, *p2;
  *     side effects:
  *             none
  */
+
 int
 hash(p)
 register char *p;
@@ -396,7 +396,7 @@ register char *p;
 #if    CASE_SENSITIVE
                h += *p++;
 #else
-               h += ccase[*p++];
+               h += ccase[(unsigned char)(*p++)];
 #endif
 
        } while (--n);