- util_create_path(udev, filename);
- symlink(udev_device_get_devpath(dev), filename);
- } while (errno == ENOENT);
+ err = util_create_path(udev, filename);
+ if (err != 0 && err != -ENOENT)
+ break;
+ err = symlink(udev_device_get_devpath(dev), filename);
+ if (err != 0)
+ err = -errno;
+ } while (err == -ENOENT);