]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udevadm: use write_string_file() helper function
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 6 Nov 2018 03:58:29 +0000 (12:58 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 6 Nov 2018 12:24:03 +0000 (21:24 +0900)
src/udev/udevadm-trigger.c

index 66ed0aee59158b0b1c97505097f74262722ad2ec..185fe29be02a65ac3c825525d6928c9f199ff416 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "device-enumerator-private.h"
 #include "fd-util.h"
+#include "fileio.h"
 #include "path-util.h"
 #include "set.h"
 #include "string-util.h"
@@ -24,7 +25,6 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se
 
         FOREACH_DEVICE_AND_SUBSYSTEM(e, d) {
                 _cleanup_free_ char *filename = NULL;
-                _cleanup_close_ int fd = -1;
                 const char *syspath;
 
                 if (sd_device_get_syspath(d, &syspath) < 0)
@@ -39,18 +39,17 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se
                 if (!filename)
                         return log_oom();
 
-                fd = open(filename, O_WRONLY|O_CLOEXEC);
-                if (fd < 0)
+                r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
+                if (r < 0) {
+                        log_debug_errno(r, "Failed to write '%s' to '%s', ignoring: %m", action, filename);
                         continue;
+                }
 
                 if (settle_set) {
                         r = set_put_strdup(settle_set, syspath);
                         if (r < 0)
                                 return log_oom();
                 }
-
-                if (write(fd, action, strlen(action)) < 0)
-                        log_debug_errno(errno, "Failed to write '%s' to '%s', ignoring: %m", action, filename);
         }
 
         return 0;