From: Harlan Stenn Date: Tue, 15 Aug 2000 03:15:20 +0000 (-0000) Subject: ntp-genkeys.c: X-Git-Tag: NTP_4_0_99_M~198 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d97645c6cbea6920547d78ca27cd569412b26ced;p=thirdparty%2Fntp.git ntp-genkeys.c: * util/ntp-genkeys.c (main): More small steps... bk: 3998b5c8q0E_sGldK3aCVcbMbnZOXg --- diff --git a/util/ntp-genkeys.c b/util/ntp-genkeys.c index 5efcb5c0a7..158e21ea0f 100644 --- a/util/ntp-genkeys.c +++ b/util/ntp-genkeys.c @@ -597,17 +597,24 @@ cleanlinks( */ #endif /* HAVE_READLINK */ if (unlink(f1)) { - fprintf(stderr, "unlink(%s) failed: %s\n", f1, - strerror(errno)); - return; + if (errno != ENOENT) { + fprintf(stderr, "unlink(%s) failed: %s\n", f1, + strerror(errno)); + return; + } } /* file = dirname(f3) / f2 */ - snprintf(fb, sizeof fb, "%s", f3); - cp = strrchr(fb, '/'); - if (cp) { - *cp = 0; + if (f3) { + snprintf(fb, sizeof fb, "%s", f3); + cp = strrchr(fb, '/'); + if (cp) { + ++cp; + *cp = 0; + } + } else { + *fb = 0; } - snprintf(fb, sizeof fb, "%s/%s", fb, f2); + snprintf(fb, sizeof fb, "%s%s", fb, f2); if (debug > 1) printf("cleanlinks 1: file is <%s>\n", fb); if (symlink(fb, f1)) { @@ -621,12 +628,14 @@ cleanlinks( - if f3 begins with a /, unlink it - else, unlink dirname(f1) / f3 */ - if (trash) { + if (trash && f3) { if ('/' == *f3) { if (unlink(f3)) { - fprintf(stderr, "unlink(%s) failed: %s\n", f3, - strerror(errno)); - return; + if (errno != ENOENT) { + fprintf(stderr, "unlink(%s) failed: %s\n", f3, + strerror(errno)); + return; + } } } else { snprintf(fb, sizeof fb, "%s", f1); @@ -638,9 +647,11 @@ cleanlinks( if (debug > 1) printf("cleanlinks 2: file is <%s>\n", fb); if (unlink(fb)) { - fprintf(stderr, "unlink(%s) failed: %s\n", fb, - strerror(errno)); - return; + if (errno != ENOENT) { + fprintf(stderr, "unlink(%s) failed: %s\n", fb, + strerror(errno)); + return; + } } } }