]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev-builtin-usb_id: use strjoina to simplify code
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 28 Feb 2019 10:40:44 +0000 (11:40 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 28 Feb 2019 10:40:44 +0000 (11:40 +0100)
src/udev/udev-builtin-usb_id.c

index 3525d250489f628d3b2e7dfde271868699dcf3cb..489b232814f4f7f123131dffb33b02ae77cab0d4 100644 (file)
@@ -138,13 +138,12 @@ static void set_scsi_type(char *to, const char *from, size_t len) {
 #define USB_DT_INTERFACE                0x04
 
 static int dev_if_packed_info(sd_device *dev, char *ifs_str, size_t len) {
-        _cleanup_free_ char *filename = NULL;
         _cleanup_close_ int fd = -1;
         ssize_t size;
         unsigned char buf[18 + 65535];
         size_t pos = 0;
         unsigned strpos = 0;
-        const char *syspath;
+        const char *filename, *syspath;
         int r;
         struct usb_interface_descriptor {
                 uint8_t bLength;
@@ -161,12 +160,11 @@ static int dev_if_packed_info(sd_device *dev, char *ifs_str, size_t len) {
         r = sd_device_get_syspath(dev, &syspath);
         if (r < 0)
                 return r;
-        if (asprintf(&filename, "%s/descriptors", syspath) < 0)
-                return log_oom();
 
+        filename = strjoina(syspath, "/descriptors");
         fd = open(filename, O_RDONLY|O_CLOEXEC);
         if (fd < 0)
-                return log_device_debug_errno(dev, errno, "Failed to open USB device 'descriptors' file: %m");
+                return log_device_debug_errno(dev, errno, "Failed to open \"%s\": %m", filename);
 
         size = read(fd, buf, sizeof(buf));
         if (size < 18 || (size_t) size >= sizeof(buf))