* as/z80/assym.c (mlookup): ignore case when looking up mnemonics
[fw/sdcc] / as / z80 / aslex.c
index 3fadd787933a0511208f6ae7512a678db0c12c36..0a4323ec4523d21e418543a7fbc829869fab494c 100644 (file)
@@ -16,7 +16,7 @@
 #include <stdio.h>
 #include <setjmp.h>
 #include <string.h>
-#include <alloc.h>
+
 #include "asm.h"
 
 /*)Module      aslex.c
@@ -28,7 +28,7 @@
  *             char    endline()
  *             char    get()
  *             VOID    getid(id,c)
- *             int     getline()
+ *             int     as_getline()
  *             int     getmap()
  *             char    getnb()
  *             VOID    getst()
@@ -84,7 +84,7 @@
 
 VOID
 getid(id, c)
-register c;
+register int c;
 char *id;
 {
        register char *p;
@@ -150,7 +150,7 @@ char *id;
 
 VOID
 getst(id, c)
-register c;
+register int c;
 char *id;
 {
        register char *p;
@@ -164,7 +164,7 @@ char *id;
        do {
                if (p < &id[NCPS])
                        *p++ = c;
-       } while (ctype[c=get()] & ~(SPACE|ILL));
+       } while (ctype[c=get()] & (0xFF - (SPACE|ILL)));
        unget(c);
        while (p < &id[NCPS])
                *p++ = 0;
@@ -193,7 +193,7 @@ char *id;
 char
 getnb()
 {
-       register c;
+       register int c;
 
        while ((c=get()) == ' ' || c == '\t')
                ;
@@ -226,7 +226,7 @@ getnb()
 char
 get()
 {
-       register c;
+       register int c;
 
        if ((c = *ip) != 0)
                ++ip;
@@ -302,7 +302,7 @@ unget(c)
 int
 getmap(d)
 {
-       register c, n, v;
+       register int c, n, v;
 
        if ((c=get()) == '\0')
                qerr();
@@ -354,9 +354,9 @@ getmap(d)
        return (c);
 }
 
-/*)Function    int     getline()
+/*)Function    int     as_getline()
  *
- *     The function getline() reads a line of assembler-source text
+ *     The function as_getline() reads a line of assembler-source text
  *     from an assembly source text file or an include file.
  *     Lines of text are processed from assembler-source files until
  *     all files have been read.  If an include file is opened then
@@ -364,7 +364,7 @@ getmap(d)
  *     include file) until the end of the include file is found.
  *     The input text line is copied into the global string ib[]
  *     and converted to a NULL terminated string.  The function
- *     getline() returns a (1) after succesfully reading a line
+ *     as_getline() returns a (1) after succesfully reading a line
  *     or a (0) if all files have been read.
  *
  *     local variables:
@@ -401,9 +401,9 @@ getmap(d)
  */
 
 int
-getline()
+as_getline()
 {
-register i;
+register int i;
 
 loop:  if (incfil >= 0) {
                if (fgets(ib, sizeof ib, ifp[incfil]) == NULL) {
@@ -432,6 +432,8 @@ loop:       if (incfil >= 0) {
        i = strlen(ib) - 1;
        if (ib[i] == '\n')
                ib[i] = 0;
+       if (i >= 1 && ib[i-1] == '\r')
+               ib[i-1] = 0;
        return (1);
 }
 
@@ -461,7 +463,7 @@ loop:       if (incfil >= 0) {
 int
 more()
 {
-       register c;
+       register int c;
 
        c = getnb();
        unget(c);
@@ -493,7 +495,7 @@ more()
 char
 endline()
 {
-       register c;
+       register int c;
 
        c = getnb();
        return( (c == '\0' || c == ';') ? 0 : c );