]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udevadm: use path_startswith and shorten code a bit
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 11 Dec 2018 06:34:45 +0000 (07:34 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 11 Dec 2018 08:21:08 +0000 (09:21 +0100)
src/udev/udevadm-info.c

index 4f7a4a388cc9348d5e5516921b79873d4af345f0..ff4cf4ec457cec7b67764d664fe37ef1306bea72 100644 (file)
@@ -80,7 +80,7 @@ static void print_all_attributes(sd_device *device, const char *key) {
 
                 printf("    %s{%s}==\"%s\"\n", key, name, value);
         }
-        printf("\n");
+        puts("");
 }
 
 static int print_device_chain(sd_device *device) {
@@ -131,19 +131,23 @@ static int print_record(sd_device *device) {
         (void) sd_device_get_devpath(device, &str);
         printf("P: %s\n", str);
 
-        if (sd_device_get_devname(device, &str) >= 0)
-                printf("N: %s\n", str + STRLEN("/dev/"));
+        if (sd_device_get_devname(device, &str) >= 0) {
+                assert_se(val = path_startswith(str, "/dev/"));
+                printf("N: %s\n", val);
+        }
 
         if (device_get_devlink_priority(device, &i) >= 0)
                 printf("L: %i\n", i);
 
-        FOREACH_DEVICE_DEVLINK(device, str)
-                printf("S: %s\n", str + STRLEN("/dev/"));
+        FOREACH_DEVICE_DEVLINK(device, str) {
+                assert_se(val = path_startswith(str, "/dev/"));
+                printf("S: %s\n", val);
+        }
 
         FOREACH_DEVICE_PROPERTY(device, str, val)
                 printf("E: %s=%s\n", str, val);
 
-        printf("\n");
+        puts("");
         return 0;
 }
 
@@ -255,28 +259,22 @@ static int query_device(QueryType query, sd_device* device) {
                 if (r < 0)
                         return log_error_errno(r, "No device node found: %m");
 
-                if (arg_root)
-                        printf("%s\n", node);
-                else
-                        printf("%s\n", node + STRLEN("/dev/"));
+                if (!arg_root)
+                        assert_se(node = path_startswith(node, "/dev/"));
+                printf("%s\n", node);
                 return 0;
         }
 
         case QUERY_SYMLINK: {
-                const char *devlink;
-                bool first = true;
+                const char *devlink, *prefix = "";
 
                 FOREACH_DEVICE_DEVLINK(device, devlink) {
-                        if (!first)
-                                printf(" ");
-                        if (arg_root)
-                                printf("%s", devlink);
-                        else
-                                printf("%s", devlink + STRLEN("/dev/"));
-
-                        first = false;
+                        if (!arg_root)
+                                assert_se(devlink = path_startswith(devlink, "/dev/"));
+                        printf("%s%s", prefix, devlink);
+                        prefix = " ";
                 }
-                printf("\n");
+                puts("");
                 return 0;
         }