chiark / gitweb /
libudev: device - add get_parent_with_subsystem()
[elogind.git] / udev / udev_device_event.c
index 102ea87a48ba8275faafa699b15ae0fc98119060..4408400ff88526618fbf242dd1a7f8f9bd309252 100644 (file)
@@ -31,7 +31,6 @@
 #include "udev.h"
 #include "udev_rules.h"
 
-
 static void kernel_log(struct ifreq ifr)
 {
        int klog;
@@ -64,13 +63,13 @@ static int rename_netif(struct udevice *udevice)
 
        sk = socket(PF_INET, SOCK_DGRAM, 0);
        if (sk < 0) {
-               err(udevice->udev, "error opening socket: %s\n", strerror(errno));
+               err(udevice->udev, "error opening socket: %m\n");
                return -1;
        }
 
        memset(&ifr, 0x00, sizeof(struct ifreq));
-       strlcpy(ifr.ifr_name, udevice->dev->kernel, IFNAMSIZ);
-       strlcpy(ifr.ifr_newname, udevice->name, IFNAMSIZ);
+       util_strlcpy(ifr.ifr_name, udevice->dev->kernel, IFNAMSIZ);
+       util_strlcpy(ifr.ifr_newname, udevice->name, IFNAMSIZ);
        retval = ioctl(sk, SIOCSIFNAME, &ifr);
        if (retval == 0)
                kernel_log(ifr);
@@ -79,22 +78,24 @@ static int rename_netif(struct udevice *udevice)
 
                /* see if the destination interface name already exists */
                if (errno != EEXIST) {
-                       err(udevice->udev, "error changing netif name %s to %s: %s\n", ifr.ifr_name, ifr.ifr_newname, strerror(errno));
+                       err(udevice->udev, "error changing netif name %s to %s: %m\n",
+                           ifr.ifr_name, ifr.ifr_newname);
                        goto exit;
                }
 
                /* free our own name, another process may wait for us */
-               strlcpy(ifr.ifr_newname, udevice->dev->kernel, IFNAMSIZ);
-               strlcat(ifr.ifr_newname, "_rename", IFNAMSIZ);
+               util_strlcpy(ifr.ifr_newname, udevice->dev->kernel, IFNAMSIZ);
+               util_strlcat(ifr.ifr_newname, "_rename", IFNAMSIZ);
                retval = ioctl(sk, SIOCSIFNAME, &ifr);
                if (retval != 0) {
-                       err(udevice->udev, "error changing netif name %s to %s: %s\n", ifr.ifr_name, ifr.ifr_newname, strerror(errno));
+                       err(udevice->udev, "error changing netif name %s to %s: %m\n",
+                           ifr.ifr_name, ifr.ifr_newname);
                        goto exit;
                }
 
                /* wait 30 seconds for our target to become available */
-               strlcpy(ifr.ifr_name, ifr.ifr_newname, IFNAMSIZ);
-               strlcpy(ifr.ifr_newname, udevice->name, IFNAMSIZ);
+               util_strlcpy(ifr.ifr_name, ifr.ifr_newname, IFNAMSIZ);
+               util_strlcpy(ifr.ifr_newname, udevice->name, IFNAMSIZ);
                loop = 30 * 20;
                while (loop--) {
                        retval = ioctl(sk, SIOCSIFNAME, &ifr);
@@ -104,11 +105,12 @@ static int rename_netif(struct udevice *udevice)
                        }
 
                        if (errno != EEXIST) {
-                               err(udevice->udev, "error changing net interface name %s to %s: %s\n",
-                                   ifr.ifr_name, ifr.ifr_newname, strerror(errno));
+                               err(udevice->udev, "error changing net interface name %s to %s: %m\n",
+                                   ifr.ifr_name, ifr.ifr_newname);
                                break;
                        }
-                       dbg(udevice->udev, "wait for netif '%s' to become free, loop=%i\n", udevice->name, (30 * 20) - loop);
+                       dbg(udevice->udev, "wait for netif '%s' to become free, loop=%i\n",
+                           udevice->name, (30 * 20) - loop);
                        usleep(1000 * 1000 / 20);
                }
        }
@@ -199,11 +201,11 @@ int udev_device_event(struct udev_rules *rules, struct udevice *udevice)
                        setenv("INTERFACE_OLD", udevice->dev->kernel, 1);
 
                        /* now change the devpath, because the kernel device name has changed */
-                       strlcpy(devpath, udevice->dev->devpath, sizeof(devpath));
+                       util_strlcpy(devpath, udevice->dev->devpath, sizeof(devpath));
                        pos = strrchr(devpath, '/');
                        if (pos != NULL) {
                                pos[1] = '\0';
-                               strlcat(devpath, udevice->name, sizeof(devpath));
+                               util_strlcat(devpath, udevice->name, sizeof(devpath));
                                sysfs_device_set_values(udevice->udev, udevice->dev, devpath, NULL, NULL);
                                setenv("DEVPATH", udevice->dev->devpath, 1);
                                setenv("INTERFACE", udevice->name, 1);
@@ -226,7 +228,7 @@ int udev_device_event(struct udev_rules *rules, struct udevice *udevice)
                } else {
                        dbg(udevice->udev, "'%s' not found in database, using kernel name '%s'\n",
                            udevice->dev->devpath, udevice->dev->kernel);
-                       strlcpy(udevice->name, udevice->dev->kernel, sizeof(udevice->name));
+                       util_strlcpy(udevice->name, udevice->dev->kernel, sizeof(udevice->name));
                }
 
                udev_rules_get_run(rules, udevice);