]> mj.ucw.cz Git - pciutils.git/blobdiff - lib/sysfs.c
libpci: hwdb: Remove ID_SUBSYSTEM and ID_GEN_SUBSYSTEM usage from pci_id_hwdb_lookup()
[pciutils.git] / lib / sysfs.c
index cd2379ee5dc9723d75f7ceffdd55d783e91431d3..0e763dcbb9124e532c7863cdf60580583f3c1b64 100644 (file)
@@ -105,12 +105,13 @@ sysfs_get_string(struct pci_dev *d, char *object, char *buf, int mandatory)
       return 0;
     }
   n = read(fd, buf, OBJBUFSIZE);
+  int read_errno = errno;
   close(fd);
   if (n < 0)
     {
-      warn("Error reading %s: %s", namebuf, strerror(errno));
+      warn("Error reading %s: %s", namebuf, strerror(read_errno));
       return 0;
-     }
+    }
   if (n >= OBJBUFSIZE)
     {
       warn("Value in %s too long", namebuf);
@@ -593,17 +594,16 @@ static void sysfs_cleanup_dev(struct pci_dev *d)
 }
 
 struct pci_methods pm_linux_sysfs = {
-  "linux-sysfs",
-  "The sys filesystem on Linux",
-  sysfs_config,
-  sysfs_detect,
-  sysfs_init,
-  sysfs_cleanup,
-  sysfs_scan,
-  sysfs_fill_info,
-  sysfs_read,
-  sysfs_write,
-  sysfs_read_vpd,
-  NULL,                                        /* init_dev */
-  sysfs_cleanup_dev
+  .name = "linux-sysfs",
+  .help = "The sys filesystem on Linux",
+  .config = sysfs_config,
+  .detect = sysfs_detect,
+  .init = sysfs_init,
+  .cleanup = sysfs_cleanup,
+  .scan = sysfs_scan,
+  .fill_info = sysfs_fill_info,
+  .read = sysfs_read,
+  .write = sysfs_write,
+  .read_vpd = sysfs_read_vpd,
+  .cleanup_dev = sysfs_cleanup_dev,
 };