Parcourir la source

added to*() routines: a macro is impossible

eck il y a 34 ans
Parent
commit
10938b57a1

+ 2 - 0
lang/cem/libcc.ansi/ctype/.distr

@@ -1,4 +1,6 @@
 LIST
 Makefile
+toupper.c
+tolower.c
 char.tab
 genfiles

+ 2 - 2
lang/cem/libcc.ansi/ctype/Makefile

@@ -4,12 +4,12 @@ clean:
 		isxdigit.o isascii.o tolower.o toupper.o chartab.o \
 		isalnum.c isalpha.c iscntrl.c isdigit.c isgraph.c \
 		islower.c isprint.c ispunct.c isspace.c isupper.c \
-		isxdigit.c isascii.c tolower.c toupper.c chartab.c \
+		isxdigit.c isascii.c chartab.c \
 		OLIST
 
 chartab.c: char.tab
 	tabgen -fchar.tab > chartab.c
 
 isalnum.c isalpha.c iscntrl.c isdigit.c isgraph.c islower.c isprint.c \
-ispunct.c isspace.c isupper.c isxdigit.c isascii.c tolower.c toupper.c: genfiles
+ispunct.c isspace.c isupper.c isxdigit.c isascii.c: genfiles
 	sh genfiles

+ 0 - 2
lang/cem/libcc.ansi/ctype/char.tab

@@ -20,8 +20,6 @@ _U:G-Z
 _L:g-z
 %T#include	<ctype.h>
 %T
-%Tint __x;
-%T
 %Tchar __ctype[] = {
 %T0,
 %p

+ 1 - 1
lang/cem/libcc.ansi/ctype/genfiles

@@ -1,6 +1,6 @@
 
 for i in isalnum isalpha iscntrl isdigit isgraph islower isprint \
-	ispunct isspace isupper isxdigit isascii toupper tolower
+	ispunct isspace isupper isxdigit isascii
 do
 sed "s/xxxx/$i/" > $i.c << 'EOF'
 #include	<ctype.h>

+ 5 - 0
lang/cem/libcc.ansi/ctype/tolower.c

@@ -0,0 +1,5 @@
+#include	<ctype.h>
+
+int tolower(int c) {
+	return isupper(c) ? c - 'A' + 'a' : c ;
+}

+ 5 - 0
lang/cem/libcc.ansi/ctype/toupper.c

@@ -0,0 +1,5 @@
+#include	<ctype.h>
+
+int toupper(int c) {
+	return islower(c) ? c - 'a' + 'A' : c ;
+}