struct udev *udev = udev_device_get_udev(dev);
struct udev_event *event;
- event = calloc(1, sizeof(struct udev_event));
+ event = new0(struct udev_event, 1);
if (event == NULL)
return NULL;
event->dev = dev;
cpos++;
while (isspace(cpos[0]))
cpos++;
+ if (cpos[0] == '\0')
+ break;
}
if (i > 0) {
log_error("requested part of result string not found");
static int rename_netif(struct udev_event *event)
{
struct udev_device *dev = event->dev;
- _cleanup_sd_rtnl_unref_ sd_rtnl *rtnl = NULL;
+ _cleanup_rtnl_unref_ sd_rtnl *rtnl = NULL;
char name[IFNAMSIZ];
const char *oldname;
int r;
strscpy(name, IFNAMSIZ, event->name);
- r = sd_rtnl_open(0, &rtnl);
+ r = sd_rtnl_open(&rtnl, 0);
if (r < 0)
return r;
log_error("error changing net interface name %s to %s: %s",
oldname, name, strerror(-r));
else
- print_kmsg("renamed network interface %s to %s", oldname, name);
+ print_kmsg("renamed network interface %s to %s\n", oldname, name);
return r;
}
-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
{
struct udev_device *dev = event->dev;
- int err = 0;
if (udev_device_get_subsystem(dev) == NULL)
- return -1;
+ return;
if (streq(udev_device_get_action(dev), "remove")) {
udev_device_read_db(dev, NULL);
event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) {
char syspath[UTIL_PATH_SIZE];
char *pos;
+ int r;
- err = rename_netif(event);
- if (err == 0) {
+ r = rename_netif(event);
+ if (r >= 0) {
log_debug("renamed netif to '%s'", event->name);
/* remember old name */
udev_device_unref(event->dev_db);
event->dev_db = NULL;
}
- return err;
}
void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)