Provide our own isdigit macro. saves more than 400 bytes.
diff --git a/coreutils/head.c b/coreutils/head.c
index d732461..f2c9483 100644
--- a/coreutils/head.c
+++ b/coreutils/head.c
@@ -49,9 +49,8 @@
 
 #if !ENABLE_DEBUG_YANK_SUSv2 || ENABLE_FEATURE_FANCY_HEAD
 	/* Allow legacy syntax of an initial numeric option without -n. */
-	if ((argc > 1) && (argv[1][0] == '-')
-		/* && (isdigit)(argv[1][1]) */
-		&& (((unsigned int)(argv[1][1] - '0')) <= 9)
+	if (argc > 1 && argv[1][0] == '-'
+	 && isdigit(argv[1][1])
 	) {
 		--argc;
 		++argv;
diff --git a/coreutils/od.c b/coreutils/od.c
index 9a2d4c3..8de8662 100644
--- a/coreutils/od.c
+++ b/coreutils/od.c
@@ -21,7 +21,7 @@
 #include "busybox.h"
 #include "dump.h"
 
-#define isdecdigit(c) (isdigit)(c)
+#define isdecdigit(c) isdigit(c)
 #define ishexdigit(c) (isxdigit)(c)
 
 static void
diff --git a/coreutils/tail.c b/coreutils/tail.c
index 82c0d99..ed5ea14 100644
--- a/coreutils/tail.c
+++ b/coreutils/tail.c
@@ -93,7 +93,7 @@
 int tail_main(int argc, char **argv)
 {
 	long count = 10;
-	unsigned int sleep_period = 1;
+	unsigned sleep_period = 1;
 	int from_top = 0;
 	int follow = 0;
 	int header_threshhold = 1;
@@ -110,10 +110,9 @@
 
 #if !ENABLE_DEBUG_YANK_SUSv2 || ENABLE_FEATURE_FANCY_TAIL
 	/* Allow legacy syntax of an initial numeric option without -n. */
-	if (argc >=2 && ((argv[1][0] == '+') || ((argv[1][0] == '-')
-			/* && (isdigit)(argv[1][1]) */
-			&& (((unsigned int)(argv[1][1] - '0')) <= 9))))
-	{
+	if (argc >= 2 && (argv[1][0] == '+' || argv[1][0] == '-')
+	 && isdigit(argv[1][1])
+	) {
 		optind = 2;
 		optarg = argv[1];
 		goto GET_COUNT;
diff --git a/include/libbb.h b/include/libbb.h
index 63748c8..baab748 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -666,7 +666,6 @@
 #undef isascii
 #undef isblank
 #undef iscntrl
-#undef isdigit
 #undef isgraph
 #undef islower
 #undef isprint
@@ -675,6 +674,11 @@
 #undef isupper
 #undef isxdigit
 
+/* This one is more efficient - we save ~400 bytes */
+#undef isdigit
+#define isdigit(a) ((unsigned)((a) - '0') <= 9)
+
+
 #ifdef DMALLOC
 #include <dmalloc.h>
 #endif
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index 9e030bd..453cbda 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -468,7 +468,7 @@
 				/* Parse the magic priority number. */
 				num_lt++;
 				pri = 0;
-				while (isdigit(*(++p))) {
+				while (isdigit(*++p)) {
 					pri = 10 * pri + (*p - '0');
 				}
 				if (pri & ~(LOG_FACMASK | LOG_PRIMASK)) {