X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=as%2Fmcs51%2Flksym.c;h=1ebc49cc5d4204f2840b4280f4fa167a959f165c;hb=57b16299d7cd3c71c3644c39089a5cee84639d83;hp=5e259e350d43f1a510796c0e089d516c5fc8d3eb;hpb=b09af35f2f1cde7649d3ac4a6f5d2af6d97895a0;p=fw%2Fsdcc diff --git a/as/mcs51/lksym.c b/as/mcs51/lksym.c index 5e259e35..1ebc49cc 100644 --- a/as/mcs51/lksym.c +++ b/as/mcs51/lksym.c @@ -16,7 +16,11 @@ #include #include +#if defined(_MSC_VER) +#include +#else #include +#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