From: md@Linux.IT Date: Tue, 2 Mar 2004 06:34:12 +0000 (-0800) Subject: [PATCH] no error on enoent X-Git-Tag: 020~22 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=92c5ddee382d06de63c10aa81a18255d0b789812;hp=758f236fd1385fc7d95c719ec03e4e22ef205bf8;p=elogind.git [PATCH] no error on enoent no_error_on_enoent: do not exit with an error and delete all files when a device or directory does not exist. --- diff --git a/udev-remove.c b/udev-remove.c index e62d1fb12..dcd460bed 100644 --- a/udev-remove.c +++ b/udev-remove.c @@ -51,6 +51,8 @@ static int delete_path(char *path) /* remove if empty */ retval = rmdir(path); + if (errno == ENOENT) + retval = 0; if (retval) { if (errno == ENOTEMPTY) return 0; @@ -77,6 +79,8 @@ static int delete_node(struct udevice *dev) info("removing device node '%s'", filename); retval = unlink(filename); + if (errno == ENOENT) + retval = 0; if (retval) { dbg("unlink(%s) failed with error '%s'", filename, strerror(errno)); @@ -109,6 +113,8 @@ static int delete_node(struct udevice *dev) dbg("unlinking symlink '%s'", filename); retval = unlink(filename); + if (errno == ENOENT) + retval = 0; if (retval) { dbg("unlink(%s) failed with error '%s'", filename, strerror(errno));