chiark / gitweb /
use more efficient string copying
[elogind.git] / extras / edd_id / edd_id.c
index 4ba60393a07bdc8596393c89aac5be06b9e42f7f..9e9667fc62ab87a0abd6517e4a0eeb9e64994fa9 100644 (file)
@@ -45,9 +45,9 @@ int main(int argc, char *argv[])
        int sysfs_fd;
        DIR *dir = NULL;
        int rc = 1;
-       char match[NAME_MAX] = "";
+       char match[NAME_MAX];
 
-               udev = udev_new();
+       udev = udev_new();
        if (udev == NULL)
                goto exit;
 
@@ -124,8 +124,9 @@ int main(int argc, char *argv[])
        }
 
        /* lookup signature in sysfs to determine the name */
+       match[0] = '\0';
        for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
-               char file[PATH_SIZE];
+               char file[UTIL_PATH_SIZE];
                char sysfs_id_buf[256];
                uint32_t sysfs_id;
                ssize_t size;
@@ -156,7 +157,7 @@ int main(int argc, char *argv[])
                if (disk_id == sysfs_id) {
                        if (match[0] == '\0') {
                                /* store id */
-                               util_strlcpy(match, dent->d_name, sizeof(match));
+                               util_strscpy(match, sizeof(match), dent->d_name);
                        } else {
                                /* error, same signature for another device */
                                info(udev, "'%s' does not have a unique signature\n", node);