chiark / gitweb /
[PATCH] Allow GROUP to have modifiers in it
[elogind.git] / dev_d.c
diff --git a/dev_d.c b/dev_d.c
index d14c70c256d31a526e5f42b61d490eb61a94f632..817355af60397c4c4f221a793c860d0b0f859ecd 100644 (file)
--- a/dev_d.c
+++ b/dev_d.c
@@ -96,13 +96,17 @@ void dev_d_execute(struct udevice *udev, const char *basedir, const char *suffix
                temp = strchr(temp, '/');
        }
 
-       snprintf(dirname, PATH_MAX, "%s/%s", basedir, udev->name);
-       dirname[PATH_MAX-1] = '\0';
-       call_foreach_file(run_program, dirname, suffix, udev);
+       if (udev->name[0] != '\0') {
+               snprintf(dirname, PATH_MAX, "%s/%s", basedir, udev->name);
+               dirname[PATH_MAX-1] = '\0';
+               call_foreach_file(run_program, dirname, suffix, udev);
+       }
 
-       snprintf(dirname, PATH_MAX, "%s/%s", basedir, udev->subsystem);
-       dirname[PATH_MAX-1] = '\0';
-       call_foreach_file(run_program, dirname, suffix, udev);
+       if (udev->subsystem[0] != '\0') {
+               snprintf(dirname, PATH_MAX, "%s/%s", basedir, udev->subsystem);
+               dirname[PATH_MAX-1] = '\0';
+               call_foreach_file(run_program, dirname, suffix, udev);
+       }
 
        snprintf(dirname, PATH_MAX, "%s/default", basedir);
        dirname[PATH_MAX-1] = '\0';