X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev_utils.c;h=74b55ed40697ef05e3f84366b864304bfb0093c4;hp=4695ef0d72a5e9bf3298fd5131353094ebb13784;hb=a15f42c46a7b9ceb5850ea4334c95f099ce74a6f;hpb=fb39f0566e248c09772ed15a3218ef2381700b6a diff --git a/udev_utils.c b/udev_utils.c index 4695ef0d7..74b55ed40 100644 --- a/udev_utils.c +++ b/udev_utils.c @@ -45,10 +45,14 @@ int udev_init_device(struct udevice *udev, const char* devpath, const char *subs memset(udev, 0x00, sizeof(struct udevice)); INIT_LIST_HEAD(&udev->symlink_list); + INIT_LIST_HEAD(&udev->run_list); if (subsystem) strlcpy(udev->subsystem, subsystem, sizeof(udev->subsystem)); + if (action) + strlcpy(udev->action, action, sizeof(udev->action)); + if (devpath) { strlcpy(udev->devpath, devpath, sizeof(udev->devpath)); remove_trailing_char(udev->devpath, '/'); @@ -85,9 +89,11 @@ int udev_init_device(struct udevice *udev, const char* devpath, const char *subs } } - udev->mode = 0660; - strcpy(udev->owner, "root"); - strcpy(udev->group, "root"); + if (udev->type == DEV_BLOCK || udev->type == DEV_CLASS) { + udev->mode = 0660; + strcpy(udev->owner, "root"); + strcpy(udev->group, "root"); + } return 0; }