diff options
Diffstat (limited to 'net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch')
-rw-r--r-- | net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch b/net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch new file mode 100644 index 000000000000..606ab11cf2dd --- /dev/null +++ b/net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch @@ -0,0 +1,45 @@ +Index: dev/udev.c +================================================================== +--- dev/udev.c ++++ dev/udev.c +@@ -42,11 +42,11 @@ + + static const char udev_name[]="udev"; + static struct udev *udev; + static struct udev_monitor *monitor; + +-static const struct dev_dhcpcd *dhcpcd; ++static struct dev_dhcpcd dhcpcd; + + static int + udev_listening(void) + { + +@@ -90,13 +90,13 @@ + + /* udev filter documentation says "usually" so double check */ + if (strcmp(subsystem, "net") == 0) { + syslog(LOG_DEBUG, "%s: libudev: %s", ifname, action); + if (strcmp(action, "add") == 0 || strcmp(action, "move") == 0) +- dhcpcd->handle_interface(ctx, 1, ifname); ++ dhcpcd.handle_interface(ctx, 1, ifname); + else if (strcmp(action, "remove") == 0) +- dhcpcd->handle_interface(ctx, -1, ifname); ++ dhcpcd.handle_interface(ctx, -1, ifname); + } + + udev_device_unref(device); + return 1; + } +@@ -171,9 +171,9 @@ + dev->listening = udev_listening; + dev->handle_device = udev_handle_device; + dev->stop = udev_stop; + dev->start = udev_start; + +- dhcpcd = dev_dhcpcd; ++ dhcpcd = *dev_dhcpcd; + + return 0; + } + |