strlcpy(program, name_loop->name, sizeof(program));
udev_rules_apply_format(udev, program, sizeof(program));
- run_program(program, udev->dev->subsystem, NULL, 0, NULL, (udev_log_priority >= LOG_INFO));
+ run_program(program, udev->dev->subsystem, NULL, 0, NULL);
}
}
}
/* udev_utils_run.c */
extern int pass_env_to_socket(const char *name, const char *devpath, const char *action);
extern int run_program(const char *command, const char *subsystem,
- char *result, size_t ressize, size_t *reslen, int log);
+ char *result, size_t ressize, size_t *reslen);
#endif
char result[2048];
size_t reslen;
- if (run_program(program, udev->dev->subsystem, result, sizeof(result), &reslen, (udev_log_priority >= LOG_INFO)) != 0)
+ if (run_program(program, udev->dev->subsystem, result, sizeof(result), &reslen) != 0)
return -1;
return import_keys_into_env(udev, result, reslen);
}
strlcpy(program, key_val(rule, &rule->program), sizeof(program));
udev_rules_apply_format(udev, program, sizeof(program));
- if (run_program(program, udev->dev->subsystem, result, sizeof(result),
- NULL, (udev_log_priority >= LOG_INFO)) != 0) {
+ if (run_program(program, udev->dev->subsystem, result, sizeof(result), NULL) != 0) {
dbg("PROGRAM is false");
udev->program_result[0] = '\0';
if (rule->program.operation != KEY_OP_NOMATCH)
#include <fcntl.h>
#include <errno.h>
#include <ctype.h>
+#include <syslog.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/wait.h>
}
int run_program(const char *command, const char *subsystem,
- char *result, size_t ressize, size_t *reslen, int log)
+ char *result, size_t ressize, size_t *reslen)
{
- int retval = 0;
int status;
int outpipe[2] = {-1, -1};
int errpipe[2] = {-1, -1};
char *argv[(sizeof(arg) / 2) + 1];
int devnull;
int i;
+ int retval = 0;
/* build argv from comand */
strlcpy(arg, command, sizeof(arg));
info("'%s'", command);
/* prepare pipes from child to parent */
- if (result || log) {
+ if (result != NULL || udev_log_priority >= LOG_INFO) {
if (pipe(outpipe) != 0) {
err("pipe failed: %s", strerror(errno));
return -1;
}
}
- if (log) {
+ if (udev_log_priority >= LOG_INFO) {
if (pipe(errpipe) != 0) {
err("pipe failed: %s", strerror(errno));
return -1;
strlcpy(program, name_loop->name, sizeof(program));
udev_rules_apply_format(udev, program, sizeof(program));
- if (run_program(program, udev->dev->subsystem, NULL, 0, NULL,
- (udev_log_priority >= LOG_INFO)) != 0)
+ if (run_program(program, udev->dev->subsystem, NULL, 0, NULL) != 0)
if (!name_loop->ignore_error)
retval = -1;
}
strlcpy(program, name_loop->name, sizeof(program));
udev_rules_apply_format(udev, program, sizeof(program));
- run_program(program, udev->dev->subsystem, NULL, 0, NULL, (udev_log_priority >= LOG_INFO));
+ run_program(program, udev->dev->subsystem, NULL, 0, NULL);
}
}
}