-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This patch looks good to me. acked. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk44GVEACgkQrlYvE4MpobP6lQCgpkYBF1C12FU0an96w7S2SBiw 7V4AnioOPZCbrqyFrqOJ3JL5QK6plS25 =Lr73 -----END PGP SIGNATURE-----
>From 5a1f1af17b78b487c4b25683d9793254bb5dd26b Mon Sep 17 00:00:00 2001 From: Eric Paris <eparis@xxxxxxxxxx> Date: Sun, 10 Jul 2011 16:38:41 +0200 Subject: [PATCH 46/92] policycoreutils: make ignore_enoent do something We have dumb code in setfiles which will set a static variable called ignore_enoent. Thing is, nothing uses it. So move the setting to where it is useful and use it! Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> --- policycoreutils/setfiles/restore.c | 2 ++ policycoreutils/setfiles/restore.h | 1 + policycoreutils/setfiles/setfiles.c | 3 +-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/policycoreutils/setfiles/restore.c b/policycoreutils/setfiles/restore.c index b649d8f..10e7d92 100644 --- a/policycoreutils/setfiles/restore.c +++ b/policycoreutils/setfiles/restore.c @@ -374,6 +374,8 @@ int process_one_realpath(char *name, int recurse) } else { rc = lstat(name, &sb); if (rc < 0) { + if (r_opts->ignore_enoent && errno == ENOENT) + return 0; fprintf(stderr, "%s: lstat(%s) failed: %s\n", r_opts->progname, name, strerror(errno)); return -1; diff --git a/policycoreutils/setfiles/restore.h b/policycoreutils/setfiles/restore.h index 03b82e8..fb90734 100644 --- a/policycoreutils/setfiles/restore.h +++ b/policycoreutils/setfiles/restore.h @@ -27,6 +27,7 @@ struct restore_opts { int hard_links; int verbose; int logging; + int ignore_enoent; char *rootpath; int rootpathlen; char *progname; diff --git a/policycoreutils/setfiles/setfiles.c b/policycoreutils/setfiles/setfiles.c index 705acd9..c21aa71 100644 --- a/policycoreutils/setfiles/setfiles.c +++ b/policycoreutils/setfiles/setfiles.c @@ -25,7 +25,6 @@ static char *policyfile = NULL; static int warn_no_match = 0; static int null_terminated = 0; static int errors; -static int ignore_enoent; static struct restore_opts r_opts; #define STAT_BLOCK_SIZE 1 @@ -335,7 +334,7 @@ int main(int argc, char **argv) r_opts.debug = 1; break; case 'i': - ignore_enoent = 1; + r_opts.ignore_enoent = 1; break; case 'l': r_opts.logging = 1; -- 1.7.6
Attachment:
0046-policycoreutils-make-ignore_enoent-do-something.patch.sig
Description: PGP signature