Index: tool/lemon.c ================================================================== --- tool/lemon.c +++ tool/lemon.c @@ -1303,11 +1303,11 @@ */ /* ** Return a pointer to the next structure in the linked list. */ -#define NEXT(A) (*(char**)(((int)A)+offset)) +#define NEXT(A) (*(char**)(((unsigned long)A)+offset)) /* ** Inputs: ** a: A sorted, null-terminated linked list. (May be null). ** b: A sorted, null-terminated linked list. (May be null). @@ -1377,15 +1377,15 @@ char *msort(list,next,cmp) char *list; char **next; int (*cmp)(); { - int offset; + unsigned long offset; char *ep; char *set[LISTSIZE]; int i; - offset = (int)next - (int)list; + offset = (unsigned long)next - (unsigned long)list; for(i=0; ifilename,'.'); if( cp ){ - sprintf(buf,"%.*s.lt",(int)cp-(int)lemp->filename,lemp->filename); + sprintf(buf,"%.*s.lt",(unsigned long)cp-(unsigned long)lemp->filename,lemp->filename); }else{ sprintf(buf,"%s.lt",lemp->filename); } if( access(buf,004)==0 ){ tpltname = buf;