Fixup isdigit calls
diff --git a/.cvsignore b/.cvsignore
index 7b35126..e6c8e8e 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -6,3 +6,4 @@
 config.log
 Makefile
 tags
+strace
diff --git a/ChangeLog b/ChangeLog
index ad05d36..8249377 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1999-12-27  Morten Welinder  <terra@diku.dk>
+
+	* syscall.c (lookup_signal, lookup_desc): isdigit requires an
+ 	_unsigned_ char parameter.
+
 2000-02-14 Wichert Akkerman <wakkerma@debian.org>
 
   * S390 updates
diff --git a/strace.c b/strace.c
index ec6bae0..223883a 100644
--- a/strace.c
+++ b/strace.c
@@ -30,6 +30,7 @@
  *	$Id$
  */
 
+#include <sys/types.h>
 #include "defs.h"
 
 #include <signal.h>
diff --git a/svr4/.cvsignore b/svr4/.cvsignore
new file mode 100644
index 0000000..f3c7a7c
--- /dev/null
+++ b/svr4/.cvsignore
@@ -0,0 +1 @@
+Makefile
diff --git a/syscall.c b/syscall.c
index ce0ee30..a52677c 100644
--- a/syscall.c
+++ b/syscall.c
@@ -265,12 +265,12 @@
 	int i;
 	char buf[32];
 
-	if (s && *s && isdigit(*s))
+	if (s && *s && isdigit((unsigned char)*s))
 		return atoi(s);
 	strcpy(buf, s);
 	s = buf;
 	for (i = 0; s[i]; i++)
-		s[i] = toupper(s[i]);
+		s[i] = toupper((unsigned char)(s[i]));
 	if (strncmp(s, "SIG", 3) == 0)
 		s += 3;
 	for (i = 0; i <= NSIG; i++) {
@@ -291,7 +291,7 @@
 lookup_desc(s)
 char *s;
 {
-	if (s && *s && isdigit(*s))
+	if (s && *s && isdigit((unsigned char)*s))
 		return atoi(s);
 	return -1;
 }