From 527b7a421ff3927d4f3f170b1b143452e88ae1dc Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 6 Apr 2015 20:11:41 +0200 Subject: util: rework cunescape(), improve error handling Change cunescape() to return a normal error code, so that we can distuingish OOM errors from parse errors. This also adds a flags parameter to control whether "relaxed" or normal parsing shall be done. If set no parse failures are generated, and the only reason why cunescape() can fail is OOM. --- src/login/logind-acl.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/login/logind-acl.c') diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c index 941fd724a5..d2b3337788 100644 --- a/src/login/logind-acl.c +++ b/src/login/logind-acl.c @@ -253,8 +253,7 @@ int devnode_acl_all(struct udev *udev, FOREACH_DIRENT(dent, dir, return -errno) { _cleanup_free_ char *unescaped_devname = NULL; - unescaped_devname = cunescape(dent->d_name); - if (!unescaped_devname) + if (cunescape(dent->d_name, UNESCAPE_RELAX, &unescaped_devname) < 0) return -ENOMEM; n = strappend("/dev/", unescaped_devname); -- cgit v1.2.3-54-g00ecf