From 010d228ad6975af67848079ecbeca590d3ac7ed1 Mon Sep 17 00:00:00 2001 From: jkh Date: Sat, 3 Sep 1994 21:23:36 +0000 Subject: Eradicate my #1 (ok, maybe #2) peeve by making config now blow away and recreate any previous ../../compile/ directory before laying down new files. The depends just aren't smart enough to save us from the grief that config's old behavior has always caused. Submitted by: jkh --- usr.sbin/config/main.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'usr.sbin/config') diff --git a/usr.sbin/config/main.c b/usr.sbin/config/main.c index 372e17d..ae7692e 100644 --- a/usr.sbin/config/main.c +++ b/usr.sbin/config/main.c @@ -90,7 +90,8 @@ usage: fputs("usage: config [-gp] sysname\n", stderr); perror(PREFIX); exit(2); } - if (stat(p = path((char *)NULL), &buf)) { + p = path((char *)NULL); + if (stat(p, &buf)) { if (mkdir(p, 0777)) { perror(p); exit(2); @@ -100,6 +101,23 @@ usage: fputs("usage: config [-gp] sysname\n", stderr); fprintf(stderr, "config: %s isn't a directory.\n", p); exit(2); } + else { + char tmp[strlen(p) + 8]; + + fprintf(stderr, "Removing old directory %s: ", p); + fflush(stderr); + sprintf(tmp, "rm -rf %s", p); + if (system(tmp)) { + fprintf(stderr, "Failed!\n"); + perror(tmp); + exit(2); + } + fprintf(stderr, "Done.\n"); + if (mkdir(p, 0777)) { + perror(p); + exit(2); + } + } loadaddress = -1; dtab = NULL; -- cgit v1.1