Provide our own isdigit macro. saves more than 400 bytes.

This commit is contained in:
Denis Vlasenko 2006-11-27 14:44:18 +00:00
parent d686a045c8
commit 459903bd4e
5 changed files with 13 additions and 11 deletions

View File

@ -49,9 +49,8 @@ int head_main(int argc, char **argv)
#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;

View File

@ -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

View File

@ -93,7 +93,7 @@ static const char header_fmt[] = "\n==> %s <==\n";
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 @@ int tail_main(int argc, char **argv)
#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;

View File

@ -666,7 +666,6 @@ extern const char bb_default_login_shell[];
#undef isascii
#undef isblank
#undef iscntrl
#undef isdigit
#undef isgraph
#undef islower
#undef isprint
@ -675,6 +674,11 @@ extern const char bb_default_login_shell[];
#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

View File

@ -468,7 +468,7 @@ static int serveConnection(char *tmpbuf, int n_read)
/* 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)) {