X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev_rules.c;h=40c010c63f97447d24dfd1bb065bf4c9a17c8781;hb=c1986ea33c26fc285688cfbc0a8473cd10c733ca;hp=d42b219d7d4697bedac9032e81167700c778a707;hpb=13d11705bf0117365afc3f9210f4d568a2baa69c;p=elogind.git diff --git a/udev_rules.c b/udev_rules.c index d42b219d7..40c010c63 100644 --- a/udev_rules.c +++ b/udev_rules.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -221,7 +222,7 @@ static int import_program_into_env(struct udevice *udev, const char *program) char result[1024]; size_t reslen; - if (execute_program(program, udev->subsystem, result, sizeof(result), &reslen) != 0) + if (run_program(program, udev->subsystem, result, sizeof(result), &reslen, (udev_log_priority >= LOG_DEBUG)) != 0) return -1; return import_keys_into_env(udev, result, reslen); } @@ -807,7 +808,7 @@ try_parent: apply_format(udev, import, sizeof(import), class_dev, sysfs_device); dbg("check for IMPORT import='%s'", import); if (rule->import_type == IMPORT_PROGRAM) { - dbg("run executable file import='%s'", import); + info("IMPORT executes '%s'", import); rc = import_program_into_env(udev, import); } else if (rule->import_type == IMPORT_FILE) { dbg("import file import='%s'", import); @@ -832,9 +833,10 @@ try_parent: strlcpy(program, key_val(rule, &rule->program), sizeof(program)); apply_format(udev, program, sizeof(program), class_dev, sysfs_device); - dbg("check for PROGRAM program='%s", program); - if (execute_program(program, udev->subsystem, result, sizeof(result), NULL) != 0) { + info("PROGRAM key executes '%s", program); + if (run_program(program, udev->subsystem, result, sizeof(result), NULL, (udev_log_priority >= LOG_DEBUG)) != 0) { dbg("PROGRAM is false"); + udev->program_result[0] = '\0'; if (rule->program.operation != KEY_OP_NOMATCH) goto exit; } else { @@ -1031,7 +1033,7 @@ int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev, struct s if (!name_set) { strlcpy(udev->name, udev->kernel_name, sizeof(udev->name)); - info("no rule found, will use kernel name '%s'", udev->name); + info("no node name set, will use kernel name '%s'", udev->name); } if (udev->tmp_node[0] != '\0') {