chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
while (1) -> for (;;)
[elogind.git]
/
udev
/
udev-event.c
diff --git
a/udev/udev-event.c
b/udev/udev-event.c
index bcd0a8f13d28bc0932f12e3c88d12dfc575c89e3..44e24313f5f90abbfd060255a9d78290818aa5c3 100644
(file)
--- a/
udev/udev-event.c
+++ b/
udev/udev-event.c
@@
-38,10
+38,10
@@
struct udev_event *udev_event_new(struct udev_device *dev)
event = calloc(1, sizeof(struct udev_event));
if (event == NULL)
return NULL;
event = calloc(1, sizeof(struct udev_event));
if (event == NULL)
return NULL;
+ event->mode = 0600;
event->dev = dev;
event->udev = udev_device_get_udev(dev);
udev_list_init(&event->run_list);
event->dev = dev;
event->udev = udev_device_get_udev(dev);
udev_list_init(&event->run_list);
- event->mode = 0660;
dbg(event->udev, "allocated event %p\n", event);
return event;
}
dbg(event->udev, "allocated event %p\n", event);
return event;
}
@@
-111,7
+111,7
@@
size_t udev_event_apply_format(struct udev_event *event, const char *src, char *
s = dest;
l = size;
s = dest;
l = size;
-
while (1
) {
+
for (;;
) {
enum subst_type type = SUBST_UNKNOWN;
char attrbuf[UTIL_PATH_SIZE];
char *attr = NULL;
enum subst_type type = SUBST_UNKNOWN;
char attrbuf[UTIL_PATH_SIZE];
char *attr = NULL;
@@
-644,6
+644,10
@@
int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules)
if (event->dev_db != NULL)
udev_node_update_old_links(dev, event->dev_db);
if (event->dev_db != NULL)
udev_node_update_old_links(dev, event->dev_db);
+ /* change default 0600 to 0660 if a group is assigned */
+ if (event->mode == 0600 && event->gid > 0)
+ event->mode = 0660;
+
err = udev_node_add(dev, event->mode, event->uid, event->gid);
}
err = udev_node_add(dev, event->mode, event->uid, event->gid);
}