+2003-01-26 Bernhard Held <bernhard@bernhardheld.de>
+
+ * as/mcs51/strcmpi.c: added, provides as_strcmpi(); strcmpi() is not ANSI
+ * as/mcs51/strcmpi.h: added
+ * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
+ * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
+ * as/mcs51/asmain.c: strcmpi -> as_strcmpi
+ * as/mcs51/assym.c: strcmpi -> as_strcmpi
+ * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
+ * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
+ * as/mcs51/lksym.c: strcmpi -> as_strcmpi
+ * as/mcs51/Makefile.aslink: new module strcmpi
+ * as/mcs51/Makefile.asx8051: new module strcmpi
+ * as/mcs51/Makefil.bcc: new module strcmpi
+ * as/mcs51/Makefile.in: new module strcmpi
+
2003-01-26 <johan@balder>
* src/SDCCglue.c: reverted back to 1.124
ALLOBJECTS= lkmain.o lkhead.o lkarea.o lkdata.o\
lkeval.o lklex.o lksym.o lkrloc.o\
lklibr.o lklist.o lkihx.o lks19.o\
- lkstore.o lknoice.o lkmem.o lkaomf51.o
+ lkstore.o lknoice.o lkmem.o lkaomf51.o strcmpi.o
all:: $(TARGETS)
clean::
lknoice.o : lknoice.c aslink.h
$(CC) $(CFLAGS) $(LDFLAGS) -c -o lknoice.o lknoice.c
+strcmpi.o : strcmpi.c strcmpi.h
+ $(CC) $(CFLAGS) $(LDFLAGS) -c -o strcmpi.o strcmpi.c
+
lkmem.o : lkmem.c aslink.h
$(CC) $(CFLAGS) $(LDFLAGS) -c -o lkmem.o lkmem.c
TARGETS=$(SDCCDIR)/bin/asx8051
ALLOBJECTS= asmain.o aslex.o assym.o assubr.o asnoice.o \
asexpr.o asdata.o aslist.o asout.o asstore.o \
- i51ext.o i51pst.o i51mch.o i51adr.o
+ i51ext.o i51pst.o i51mch.o i51adr.o strcmpi.o
all:: $(TARGETS)
i51adr.o : i51adr.c asm.h i8051.h
$(CC) $(CFLAGS) $(LDFLAGS) -c -o i51adr.o i51adr.c
+strcmpi.o : strcmpi.c strcmpi.h
+ $(CC) $(CFLAGS) $(LDFLAGS) -c -o strcmpi.o strcmpi.c
+
$(TARGETS): $(ALLOBJECTS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(ALLOBJECTS)
ASOBJECTS = asmain.obj aslex.obj assym.obj assubr.obj asnoice.obj \
asexpr.obj asdata.obj aslist.obj asout.obj asstore.obj \
- i51ext.obj i51pst.obj i51mch.obj i51adr.obj
+ i51ext.obj i51pst.obj i51mch.obj i51adr.obj strcmpi.obj
LKOBJECTS = lkmain.obj lkhead.obj lkarea.obj lkdata.obj \
lkeval.obj lklex.obj lksym.obj lkrloc.obj \
lklibr.obj lklist.obj lkihx.obj lks19.obj \
- lkstore.obj lknoice.obj lkmem.obj lkaomf51.obj
+ lkstore.obj lknoice.obj lkmem.obj lkaomf51.obj strcmpi.obj
ASX8051 = $(PRJDIR)/bin/asx8051.exe
ASLINK = $(PRJDIR)/bin/aslink.exe
ASOBJECTS = asmain.o aslex.o assym.o assubr.o asnoice.o \
asexpr.o asdata.o aslist.o asout.o asstore.o \
- i51ext.o i51pst.o i51mch.o i51adr.o
+ i51ext.o i51pst.o i51mch.o i51adr.o strcmpi.o
ASSOURCES = $(patsubst %.o,%.c,$(ASOBJECTS))
LKOBJECTS = lkmain.o lkhead.o lkarea.o lkdata.o \
lkeval.o lklex.o lksym.o lkrloc.o \
lklibr.o lklist.o lkihx.o lks19.o \
- lkstore.o lknoice.o lkmem.o lkaomf51.o
+ lkstore.o lknoice.o lkmem.o lkaomf51.o strcmpi.o
LKSOURCES = $(patsubst %.o,%.c,$(LKOBJECTS))
ASX8051 = $(PRJDIR)/bin/asx8051
/* JCF: lkaomf51.c */
extern void SaveLinkedFilePath(char * filepath);
extern void CreateAOMF51(void);
-
-/* SD added this to change
- strcmpi --> strcmp (strcmpi NOT ANSI) */
-#define strcmpi strcmp
-
extern VOID minit();
extern VOID machine(struct mne *);
-
-/* SD added THIS define to change
- strcmpi --> strcmp (strcmpi is NOT ANSI) */
-#define strcmpi strcmp
#include <string.h>
#include "asm.h"
+#include "strcmpi.h"
/*)Module asmain.c
*
{
getst(id, -1);
- if (!strcmpi(id, "on"))
+ if (!as_strcmpi(id, "on"))
{
/* Quick sanity check: size of
* Addr_T must be at least 24 bits.
flat24Mode = 1;
}
}
- else if (!strcmpi(id, "off"))
+ else if (!as_strcmpi(id, "off"))
{
flat24Mode = 0;
}
#include <alloc.h>
#endif
#include "asm.h"
+#include "strcmpi.h"
/*)Module assym.c
*
h = hash(id);
mp = mnehash[h];
while (mp) {
- if (strcmpi(id, mp->m_id) == 0) /* JLH: case insensitive */
+ if (as_strcmpi(id, mp->m_id) == 0) /* JLH: case insensitive */
return (mp);
mp = mp->m_mp;
}
#if CASE_SENSITIVE
return (strcmp( p1, p2 ) == 0);
#else
- return (strcmpi( p1, p2 ) == 0);
+ return (as_strcmpi( p1, p2 ) == 0);
#endif
}
#include <string.h>
#include <stdlib.h>
#include "aslink.h"
+#include "strcmpi.h"
int summary(struct area * areap)
{
- #define EQ(A,B) !strcmpi((A),(B))
+ #define EQ(A,B) !as_strcmpi((A),(B))
#define MIN_STACK 16
#define REPORT_ERROR(A, H) \
{\
#include <setjmp.h>
#include <string.h>
#include "aslink.h"
+#include "strcmpi.h"
static void DefineGlobal( char *name, Addr_T value, int page );
static void DefineScoped( char *name, Addr_T value, int page );
*/
void DefineFile( char *name, Addr_T value, int page )
{
- if (strcmpi( name, currentFile ) != 0)
+ if (as_strcmpi( name, currentFile ) != 0)
{
strcpy( currentFile, name );
if (value != 0)
*/
void DefineFunction( char *name, Addr_T value, int page )
{
- if (strcmpi( name, currentFunction ) != 0)
+ if (as_strcmpi( name, currentFunction ) != 0)
{
strcpy( currentFunction, name );
if (value != 0)
*/
void DefineStaticFunction( char *name, Addr_T value, int page )
{
- if (strcmpi( name, currentFunction ) != 0)
+ if (as_strcmpi( name, currentFunction ) != 0)
{
strcpy( currentFunction, name );
if (value != 0)
#if CASE_SENSITIVE
return (strcmp( p1, p2 ) == 0);
#else
- return (strcmpi( p1, p2 ) == 0);
+ return (as_strcmpi( p1, p2 ) == 0);
#endif
}
--- /dev/null
+/* strcmpi.c */
+
+/*
+ * Compare two strings ignoring case.
+ *
+ * Taken from GLIBC 2.2.5. Original code is copyrighted "Free
+ * Software Foundation" and published under the GNU Lesser General
+ * Public License.
+ *
+ */
+
+#include <ctype.h>
+#include "strcmpi.h"
+
+int as_strcmpi (const char *s1, const char *s2)
+{
+ const unsigned char *p1 = (const unsigned char *) s1;
+ const unsigned char *p2 = (const unsigned char *) s2;
+ unsigned char c1, c2;
+
+ if (p1 == p2)
+ return 0;
+
+ do
+ {
+ c1 = tolower (*p1++);
+ c2 = tolower (*p2++);
+ if (c1 == '\0')
+ break;
+ }
+ while (c1 == c2);
+
+ return c1 - c2;
+}
+
--- /dev/null
+/* strcmpi.h */
+
+int as_strcmpi (const char *s1, const char *s2);