From a3d57996173980efd5de9eeb4383e440b731d730 Mon Sep 17 00:00:00 2001 From: andersen Date: Thu, 25 Nov 1999 08:06:22 +0000 Subject: Stuf git-svn-id: svn://busybox.net/trunk/busybox@119 69ca8d6d-28ef-0310-b511-8ec308f3f277 --- sysklogd/logger.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'sysklogd/logger.c') diff --git a/sysklogd/logger.c b/sysklogd/logger.c index 0683838cc..dfbc557ec 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=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)); -- cgit v1.2.3-55-g6feb