chiark / gitweb /
[PATCH] remove compiler warning from udevd.c
[elogind.git] / udevstart.c
index 5c977b5ce65ab0ee92574391d188066814d1329a..5e6606d535ac4fc5de658a3f3c5b2f08ffb35ee0 100644 (file)
 #include <ctype.h>
 #include <dirent.h>
 #include <sys/wait.h>
+#include <sys/types.h>
+#include <unistd.h>
 
 #include "logging.h"
+#include "udev_lib.h"
 
 
 #ifdef LOG
-unsigned char logname[42];
+unsigned char logname[LOGNAME_SIZE];
 void log_message(int level, const char *format, ...)
 {
        va_list args;
@@ -59,8 +62,8 @@ static void udev_exec(const char *path, const char* subsystem)
        char nosleep[] = "UDEV_NO_SLEEP=1";
        char *env[] = { action, devpath, nosleep, NULL };
 
-       snprintf(devpath, MAX_PATHLEN, "DEVPATH=%s", path);
-       devpath[MAX_PATHLEN-1] = '\0';
+       strcpy(devpath, "DEVPATH=");
+       strfieldcat(devpath, path);
 
        pid = fork();
        switch (pid) {
@@ -78,12 +81,11 @@ static void udev_exec(const char *path, const char* subsystem)
        }
 }
 
-static int udev_scan(void)
+static void udev_scan(void)
 {
        char *devpath;
        DIR *dir;
        struct dirent *dent;
-       int retval = -EINVAL;
 
        devpath = "block";
        dir = opendir(SYSBLOCK);
@@ -179,17 +181,14 @@ static int udev_scan(void)
                        }
                }
        }
-
-       if (retval > 0)
-               retval = 0;
-
-       return -retval;
 }
 
 
-int main(int argc, char **argv, char **envp)
+int main(int argc, char *argv[], char *envp[])
 {
        init_logging("udevstart");
 
-       return udev_scan();
+       udev_scan();
+
+       return 0;
 }