summaryrefslogtreecommitdiff
path: root/udev/lib/libudev-device.c
diff options
context:
space:
mode:
authorAlan Jenkins <alan-jenkins@tuffmail.co.uk>2008-09-29 16:01:32 +0100
committerKay Sievers <kay.sievers@vrfy.org>2008-09-29 17:06:00 +0200
commit659353f5a9a52336c41cf595d933311b8dc48937 (patch)
tree1a12cc4fd2ec90db52a0f586e08a2f49a6ca8306 /udev/lib/libudev-device.c
parent5c0f595d91a21b1fba2b9edd89511a072036d0e8 (diff)
replace strerror() usage with threadsafe "%m" format string
strerror() is not threadsafe. It uses a buffer to build messages of the form "Unknown error 387689". syslog() provides a %m format which is equivalent to strerror(errno). As a GNU extension, this is also accepted by printf and friends. At least in the current implementation, it is correctly threadsafe. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Diffstat (limited to 'udev/lib/libudev-device.c')
-rw-r--r--udev/lib/libudev-device.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/udev/lib/libudev-device.c b/udev/lib/libudev-device.c
index 4d000292f2..4cdc957093 100644
--- a/udev/lib/libudev-device.c
+++ b/udev/lib/libudev-device.c
@@ -77,7 +77,7 @@ static int device_read_db(struct udev_device *udev_device)
syspath_to_db_path(udev_device, filename, sizeof(filename));
if (lstat(filename, &stats) != 0) {
- info(udev_device->udev, "no db file to read %s: %s\n", filename, strerror(errno));
+ info(udev_device->udev, "no db file to read %s: %m\n", filename);
return -1;
}
if ((stats.st_mode & S_IFMT) == S_IFLNK) {
@@ -88,7 +88,7 @@ static int device_read_db(struct udev_device *udev_device)
if (target_len > 0)
target[target_len] = '\0';
else {
- info(udev_device->udev, "error reading db link %s: %s\n", filename, strerror(errno));
+ info(udev_device->udev, "error reading db link %s: %m\n", filename);
return -1;
}
if (asprintf(&udev_device->devnode, "%s/%s", udev_get_dev_path(udev_device->udev), target) < 0)
@@ -99,7 +99,7 @@ static int device_read_db(struct udev_device *udev_device)
f = fopen(filename, "r");
if (f == NULL) {
- info(udev_device->udev, "error reading db file %s: %s\n", filename, strerror(errno));
+ info(udev_device->udev, "error reading db file %s: %m\n", filename);
return -1;
}
while (fgets(line, sizeof(line), f)) {
@@ -653,7 +653,7 @@ const char *udev_device_get_attr_value(struct udev_device *udev_device, const ch
util_strlcat(path, attr, sizeof(path));
if (lstat(path, &statbuf) != 0) {
- info(udev_device->udev, "stat '%s' failed: %s\n", path, strerror(errno));
+ info(udev_device->udev, "stat '%s' failed: %m\n", path);
goto out;
}