This depmod script will create a modules.dep file, just like the depmod
[oweals/busybox.git] / syslogd.c
index 379efcf51fb3d24de7ea9fb7dadb26aadb52ce3d..14219eb541f2b8710d91951abc3362966841f4cc 100644 (file)
--- a/syslogd.c
+++ b/syslogd.c
@@ -55,7 +55,7 @@
 #define __LOG_FILE "/var/log/messages"
 
 /* Path to the unix socket */
-static char lfile[BUFSIZ] = "";
+static char lfile[BUFSIZ];
 
 static char *logFilePath = __LOG_FILE;
 
@@ -155,8 +155,6 @@ void ipcsyslog_init(void){
                    perror_msg_and_die("semget");
                }else
                        perror_msg_and_die("semget");
-           } else {
-                   sem_up(s_semid);
            }
        }else{
                printf("Buffer already allocated just grab the semaphore?");
@@ -348,7 +346,7 @@ static const int IOV_COUNT = 2;
                struct iovec iov[IOV_COUNT];
                struct iovec *v = iov;
 
-               bzero(&res, sizeof(res));
+               memset(&res, 0, sizeof(res));
                snprintf(res, sizeof(res), "<%d>", pri);
                v->iov_base = res ;
                v->iov_len = strlen(res);          
@@ -372,7 +370,7 @@ static const int IOV_COUNT = 2;
 
 static void quit_signal(int sig)
 {
-       logMessage(0, "System log daemon exiting.");
+       logMessage(LOG_SYSLOG | LOG_INFO, "System log daemon exiting.");
        unlink(lfile);
 #ifdef BB_FEATURE_IPC_SYSLOG
        ipcsyslog_cleanup();
@@ -389,7 +387,9 @@ static void domark(int sig)
        }
 }
 
-static const int BUFSIZE = 1023;
+/* This must be a #define, since when DODEBUG and BUFFERS_GO_IN_BSS are
+ * enabled, we otherwise get a "storage size isn't constant error. */
+#define BUFSIZE 1023
 static int serveConnection (int conn)
 {
        RESERVE_BB_BUFFER(tmpbuf, BUFSIZE + 1);
@@ -431,6 +431,7 @@ static int serveConnection (int conn)
                /* Now log it */
                logMessage (pri, line);
        }
+       RELEASE_BB_BUFFER (tmpbuf);
        return n_read;
 }
 
@@ -442,7 +443,7 @@ static void init_RemoteLog (void){
   struct hostent *hostinfo;
   int len = sizeof(remoteaddr);
 
-  bzero(&remoteaddr, len);
+  memset(&remoteaddr, 0, len);
 
   remotefd = socket(AF_INET, SOCK_DGRAM, 0);
 
@@ -450,11 +451,7 @@ static void init_RemoteLog (void){
     error_msg_and_die("syslogd: cannot create socket");
   }
 
-  hostinfo = (struct hostent *) gethostbyname(RemoteHost);
-
-  if (!hostinfo) {
-    error_msg_and_die("syslogd: cannot resolve remote host name [%s]", RemoteHost);
-  }
+  hostinfo = xgethostbyname(RemoteHost);
 
   remoteaddr.sin_family = AF_INET;
   remoteaddr.sin_addr = *(struct in_addr *) *hostinfo->h_addr_list;
@@ -525,7 +522,7 @@ static void doSyslogd (void)
         }
         #endif
 
-       logMessage (0, "syslogd started: " BB_BANNER);
+       logMessage (LOG_SYSLOG | LOG_INFO, "syslogd started: " BB_BANNER);
 
        for (;;) {