1
0
mirror of https://frontier.innolan.net/rainlance/amiga-tz.git synced 2025-12-07 14:32:44 +00:00

link snapping

SCCS-file: zic.c
SCCS-SID: 7.79
This commit is contained in:
Arthur David Olson
1996-12-16 09:41:59 -05:00
committed by Paul Eggert
parent 8ff15b8c89
commit 6c0cb7f7fe

16
zic.c
View File

@ -359,6 +359,7 @@ char * const ptr;
{ {
if (ptr == NULL) { if (ptr == NULL) {
const char *e = strerror(errno); const char *e = strerror(errno);
(void) fprintf(stderr, _("%s: Memory exhausted: %s\n"), (void) fprintf(stderr, _("%s: Memory exhausted: %s\n"),
progname, e); progname, e);
(void) exit(EXIT_FAILURE); (void) exit(EXIT_FAILURE);
@ -608,6 +609,7 @@ const char * const tofile;
(void) exit(EXIT_FAILURE); (void) exit(EXIT_FAILURE);
if (link(fromname, toname) != 0) { if (link(fromname, toname) != 0) {
const char *e = strerror(errno); const char *e = strerror(errno);
(void) fprintf(stderr, (void) fprintf(stderr,
_("%s: Can't link from %s to %s: %s\n"), _("%s: Can't link from %s to %s: %s\n"),
progname, fromname, toname, e); progname, fromname, toname, e);
@ -780,6 +782,7 @@ const char * name;
fp = stdin; fp = stdin;
} else if ((fp = fopen(name, "r")) == NULL) { } else if ((fp = fopen(name, "r")) == NULL) {
const char *e = strerror(errno); const char *e = strerror(errno);
(void) fprintf(stderr, _("%s: Can't open %s: %s\n"), (void) fprintf(stderr, _("%s: Can't open %s: %s\n"),
progname, name, e); progname, name, e);
(void) exit(EXIT_FAILURE); (void) exit(EXIT_FAILURE);
@ -848,6 +851,7 @@ _("%s: panic: Invalid l_value %d\n"),
} }
if (fp != stdin && fclose(fp)) { if (fp != stdin && fclose(fp)) {
const char *e = strerror(errno); const char *e = strerror(errno);
(void) fprintf(stderr, _("%s: Error closing %s: %s\n"), (void) fprintf(stderr, _("%s: Error closing %s: %s\n"),
progname, filename, e); progname, filename, e);
(void) exit(EXIT_FAILURE); (void) exit(EXIT_FAILURE);
@ -1422,11 +1426,22 @@ const char * const name;
fullname = erealloc(fullname, fullname = erealloc(fullname,
(int) (strlen(directory) + 1 + strlen(name) + 1)); (int) (strlen(directory) + 1 + strlen(name) + 1));
(void) sprintf(fullname, "%s/%s", directory, name); (void) sprintf(fullname, "%s/%s", directory, name);
/*
** Remove old file, if any, to snap links.
*/
if (!itsdir(fullname) && remove(fullname) != 0 && errno != ENOENT) {
const char *e = strerror(errno);
(void) fprintf(stderr, _("%s: Can't remove %s: %s\n"),
progname, fullname, e);
(void) exit(EXIT_FAILURE);
}
if ((fp = fopen(fullname, "wb")) == NULL) { if ((fp = fopen(fullname, "wb")) == NULL) {
if (mkdirs(fullname) != 0) if (mkdirs(fullname) != 0)
(void) exit(EXIT_FAILURE); (void) exit(EXIT_FAILURE);
if ((fp = fopen(fullname, "wb")) == NULL) { if ((fp = fopen(fullname, "wb")) == NULL) {
const char *e = strerror(errno); const char *e = strerror(errno);
(void) fprintf(stderr, _("%s: Can't create %s: %s\n"), (void) fprintf(stderr, _("%s: Can't create %s: %s\n"),
progname, fullname, e); progname, fullname, e);
(void) exit(EXIT_FAILURE); (void) exit(EXIT_FAILURE);
@ -2114,6 +2129,7 @@ char * const argname;
*/ */
if (mkdir(name, 0755) != 0) { if (mkdir(name, 0755) != 0) {
const char *e = strerror(errno); const char *e = strerror(errno);
(void) fprintf(stderr, (void) fprintf(stderr,
_("%s: Can't create directory %s: %s\n"), _("%s: Can't create directory %s: %s\n"),
progname, name, e); progname, name, e);