--- sysctl.c +++ sysctl.c 2010-01-29 14:22:55.119429196 +0000 @@ -146,8 +146,10 @@ static int ReadSetting(const char *restr slashdot(outname,'/','.'); /* change / to . */ if (stat(tmpname, &ts) < 0) { - perror(tmpname); - rc = -1; + if (!IgnoreError) { + perror(tmpname); + rc = -1; + } goto out; } if ((ts.st_mode & S_IRUSR) == 0) @@ -322,8 +324,10 @@ static int WriteSetting(const char *sett slashdot(outname,'/','.'); /* change / to . */ if (stat(tmpname, &ts) < 0) { - perror(tmpname); - rc = -1; + if (!IgnoreError) { + perror(tmpname); + rc = -1; + } goto out; }