diff options
author | Eric Andersen | 1999-11-25 08:06:22 +0000 |
---|---|---|
committer | Eric Andersen | 1999-11-25 08:06:22 +0000 |
commit | befda6e4ed06697f20fc114718ef0c92c5c6e56a (patch) | |
tree | 655d3ba8ac9b35679a23fccf019490e5462d192a | |
parent | 3843e96252a823b4fdfc89c61d00342bf011ad88 (diff) | |
download | busybox-befda6e4ed06697f20fc114718ef0c92c5c6e56a.zip busybox-befda6e4ed06697f20fc114718ef0c92c5c6e56a.tar.gz |
Stuf
-rw-r--r-- | Changelog | 2 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | TODO | 5 | ||||
-rw-r--r-- | busybox.def.h | 4 | ||||
-rw-r--r-- | busybox.spec | 2 | ||||
-rw-r--r-- | examples/busybox.spec | 2 | ||||
-rw-r--r-- | logger.c | 26 | ||||
-rw-r--r-- | sysklogd/logger.c | 26 |
8 files changed, 47 insertions, 24 deletions
@@ -1,4 +1,6 @@ 0.37 + * Wrote a micro syslogd, and a logger util (to log things to the syslog + from the command line or scripts) With both compiled in, costs 4k. * Fixed 'make install' so symlinks are installed in their proper locations. * Changed the build system slightly so that features can now be enabled or disabled from the busybox.defs.h header file, without trying to @@ -17,12 +17,12 @@ PROG=busybox -VERSION=0.36 +VERSION=0.37 BUILDTIME=$(shell date "+%Y%m%d-%H%M") # Comment out the following to make a debuggable build # Leave this off for production use. -DODEBUG=true +DODEBUG=false # If you want a static binary, turn this on. I can't think # of many situations where anybody would ever want it static, # but... @@ -1,9 +1,10 @@ TODO list for busybox in no particular order -* Add in a mini syslogd +If you have any good ideas, please let me know. + * Allow tar to create archives with sockets, devices, and other special files * Add in a mini modprobe, insmod, rmmod * poweroff * Change init so halt, reboot (and poweroff) work with an initrd when init is not PID 1 -* +* diff --git a/busybox.def.h b/busybox.def.h index bf8f545..0e7f349 100644 --- a/busybox.def.h +++ b/busybox.def.h @@ -28,7 +28,7 @@ #define BB_LN #define BB_LOADFONT #define BB_LOADKMAP -#define BB_LOGGER +//#define BB_LOGGER #define BB_LS //#define BB_MAKEDEVS //#define BB_MATH @@ -54,7 +54,7 @@ #define BB_SLEEP #define BB_SWAPONOFF #define BB_SYNC -#define BB_SYSLOGD +//#define BB_SYSLOGD #define BB_TAR #define BB_TOUCH #define BB_TRUE_FALSE diff --git a/busybox.spec b/busybox.spec index 4a3ef65..92000e7 100644 --- a/busybox.spec +++ b/busybox.spec @@ -1,5 +1,5 @@ Name: busybox -Version: 0.36 +Version: 0.37 Release: 1 Group: System/Utilities Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary. diff --git a/examples/busybox.spec b/examples/busybox.spec index 4a3ef65..92000e7 100644 --- a/examples/busybox.spec +++ b/examples/busybox.spec @@ -1,5 +1,5 @@ Name: busybox -Version: 0.36 +Version: 0.37 Release: 1 Group: System/Utilities Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary. @@ -118,13 +118,17 @@ extern int logger_main(int argc, char **argv) { struct sockaddr_un sunx; int fd, pri = LOG_USER|LOG_NOTICE; + int fromStdinFlag=FALSE; int toStdErrFlag=FALSE; - char *message, buf[1024]; + char *message, buf[1024], buf1[1024]; time_t now; size_t addrLength; /* Parse any options */ while (--argc > 0 && **(++argv) == '-') { + if (*((*argv)+1) == '\0') { + fromStdinFlag=TRUE; + } while (*(++(*argv))) { switch (**argv) { case 's': @@ -146,15 +150,21 @@ extern int logger_main(int argc, char **argv) } } - if (argc>=1) - if (**argv=='-') { - /* read from stdin */ + if (fromStdinFlag==TRUE) { + /* read from stdin */ + int i=0; + char c; + while ((c = getc(stdin)) != EOF && i<sizeof(buf1)) { + buf1[i++]=c; + } + message=buf1; + } else { + if (argc>=1) { + message=*argv; } else { - message=*argv; + fprintf(stderr, "No message\n"); + exit( FALSE); } - else { - fprintf(stderr, "No message\n"); - exit( FALSE); } memset(&sunx, 0, sizeof(sunx)); diff --git a/sysklogd/logger.c b/sysklogd/logger.c index 0683838..dfbc557 100644 --- a/sysklogd/logger.c +++ b/sysklogd/logger.c @@ -118,13 +118,17 @@ extern int logger_main(int argc, char **argv) { struct sockaddr_un sunx; int fd, pri = LOG_USER|LOG_NOTICE; + int fromStdinFlag=FALSE; int toStdErrFlag=FALSE; - char *message, buf[1024]; + char *message, buf[1024], buf1[1024]; time_t now; size_t addrLength; /* Parse any options */ while (--argc > 0 && **(++argv) == '-') { + if (*((*argv)+1) == '\0') { + fromStdinFlag=TRUE; + } while (*(++(*argv))) { switch (**argv) { case 's': @@ -146,15 +150,21 @@ extern int logger_main(int argc, char **argv) } } - if (argc>=1) - if (**argv=='-') { - /* read from stdin */ + if (fromStdinFlag==TRUE) { + /* read from stdin */ + int i=0; + char c; + while ((c = getc(stdin)) != EOF && i<sizeof(buf1)) { + buf1[i++]=c; + } + message=buf1; + } else { + if (argc>=1) { + message=*argv; } else { - message=*argv; + fprintf(stderr, "No message\n"); + exit( FALSE); } - else { - fprintf(stderr, "No message\n"); - exit( FALSE); } memset(&sunx, 0, sizeof(sunx)); |