replace non-ANSI strcmpi by as_strcmpi
[fw/sdcc] / as / mcs51 / lksym.c
index 5e259e350d43f1a510796c0e089d516c5fc8d3eb..1ebc49cc5d4204f2840b4280f4fa167a959f165c 100644 (file)
 
 #include <stdio.h>
 #include <string.h>
+#if defined(_MSC_VER)
+#include <malloc.h>
+#else
 #include <alloc.h>
+#endif
 #include "aslink.h"
 
 /*)Module      lksym.c
@@ -33,7 +37,7 @@
  *             int     symeq()
  *             VOID    syminit()
  *             VOID    symmod()
- *             addr_t  symval()
+ *             Addr_T  symval()
  *
  *     lksym.c contains no local/static variables.
  */
@@ -101,9 +105,10 @@ syminit()
  *             int     lkerr           error flag
  *
  *     functions called:
- *             addr_t  eval()          lkeval.c
+ *             Addr_T  eval()          lkeval.c
  *             VOID    exit()          c_library
  *             int     fprintf()       c_library
+ *             char    getSid()        lklex.c
  *             char    get()           lklex.c
  *             char    getnb()         lklex.c
  *             sym *   lkpsym()        lksym.c
@@ -129,12 +134,14 @@ syminit()
 struct sym *
 newsym()
 {
-       register int c, i, nglob;
+  register unsigned i ;
+  register unsigned nglob ;
+       register int c ;
        struct sym *tsp;
        struct sym **s;
        char id[NCPS];
 
-       getid(id, -1);
+       getSid(id);     // old: getid(id, -1);
        tsp = lkpsym(id, 1);
        c = getnb();get();get();
        if (c == 'R') {
@@ -177,6 +184,7 @@ newsym()
        }
        fprintf(stderr, "Header symbol list overflow\n");
        lkexit(1);
+       return(0);
 }
 
 /*)Function    sym *   lkpsym(id,f)
@@ -233,7 +241,7 @@ char *id;
        return (sp);
 }
 
-/*)Function    addr_t  symval(tsp)
+/*)Function    Addr_T  symval(tsp)
  *
  *             sym *   tsp             pointer to a symbol structure
  *
@@ -242,7 +250,7 @@ char *id;
  *     value to the areax base address.
  *
  *     local variables:
- *             addr_t  val             relocated address value
+ *             Addr_T  val             relocated address value
  *
  *     global variables:
  *             none
@@ -254,11 +262,11 @@ char *id;
  *             none
  */
 
-addr_t
+Addr_T
 symval(tsp)
 register struct sym *tsp;
 {
-       register addr_t val;
+       register Addr_T val;
 
        val = tsp->s_addr;
        if (tsp->s_axp) {
@@ -396,7 +404,7 @@ register char *p1, *p2;
 #if    CASE_SENSITIVE
                return (strcmp( p1, p2 ) == 0);
 #else
-               return (strcmpi( p1, p2 ) == 0);
+               return (as_strcmpi( p1, p2 ) == 0);
 #endif
 }
 
@@ -470,15 +478,11 @@ VOID *
 new(n)
 unsigned int n;
 {
-       register char *p,*q;
-       register unsigned int i;
+       register char *p;
 
-       if ((p = (char *) malloc(n)) == NULL) {
+       if ((p = (char *) calloc(n, 1)) == NULL) {
                fprintf(stderr, "Out of space!\n");
                lkexit(1);
        }
-       for (i=0,q=p; i<n; i++) {
-               *q++ = 0;
-       }
        return (p);
 }