- /* set up a default signal handler for now */
- act.sa_handler = sig_handler;
- sigemptyset (&act.sa_mask);
- act.sa_flags = SA_RESTART;
- sigaction(SIGINT, &act, NULL);
- sigaction(SIGTERM, &act, NULL);
+ /* remove sysfs_path if given */
+ if (strncmp(argv[1], sysfs_path, strlen(sysfs_path)) == 0)
+ devpath = &argv[1][strlen(sysfs_path)] ;
+ else
+ if (argv[1][0] != '/') {
+ /* prepend '/' if missing */
+ snprintf(temp, sizeof(temp), "/%s", argv[1]);
+ temp[sizeof(temp)-1] = '\0';
+ devpath = temp;
+ } else
+ devpath = argv[1];
+
+ subsystem = argv[2];
+ setenv("DEVPATH", devpath, 1);
+ setenv("SUBSYSTEM", subsystem, 1);
+ setenv("ACTION", "add", 1);
+ info("looking at device '%s' from subsystem '%s'", devpath, subsystem);