#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
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) {
}
}
-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);
udev_exec(filename, "block");
}
}
+ closedir(dir3);
}
}
+ closedir(dir2);
}
}
+ closedir(dir);
}
devpath = "class";
udev_exec(filename, dent->d_name);
}
}
+ closedir(dir3);
}
}
+ closedir(dir2);
}
}
+ closedir(dir);
}
-
- if (retval > 0)
- retval = 0;
-
- return -retval;
}
{
init_logging("udevstart");
- return udev_scan();
+ udev_scan();
+
+ return 0;
}