diff options
author | peter <peter@FreeBSD.org> | 1996-01-12 08:57:10 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1996-01-12 08:57:10 +0000 |
commit | 5b70a95cd827978a62482802e9ff51d4e958da7e (patch) | |
tree | 87f917319075f55b3a7df24a1226cb5fd2de48e6 /usr.sbin/config/mkswapconf.c | |
parent | b90ef46a2fbc1f210795d01c9dee181dbf3f1922 (diff) | |
download | FreeBSD-src-5b70a95cd827978a62482802e9ff51d4e958da7e.zip FreeBSD-src-5b70a95cd827978a62482802e9ff51d4e958da7e.tar.gz |
Make a little more effort to avoid touching certain generated files if
they were not changed. This makes 'make depend' more useful.
Diffstat (limited to 'usr.sbin/config/mkswapconf.c')
-rw-r--r-- | usr.sbin/config/mkswapconf.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.sbin/config/mkswapconf.c b/usr.sbin/config/mkswapconf.c index 39d964b..1d5756f 100644 --- a/usr.sbin/config/mkswapconf.c +++ b/usr.sbin/config/mkswapconf.c @@ -66,6 +66,7 @@ do_swap(fl) register struct file_list *fl; { FILE *fp; + char newswapname[80]; char swapname[80]; register struct file_list *swap; dev_t dev; @@ -75,9 +76,10 @@ do_swap(fl) return (fl->f_next); } (void) sprintf(swapname, "swap%s.c", fl->f_fn); - fp = fopen(path(swapname), "w"); + (void) sprintf(newswapname, "swap%s.c.new", fl->f_fn); + fp = fopen(path(newswapname), "w"); if (fp == 0) { - perror(path(swapname)); + perror(path(newswapname)); exit(1); } fprintf(fp, "#include <sys/param.h>\n"); @@ -90,7 +92,7 @@ do_swap(fl) */ swap = fl->f_next; if (swap == 0 || swap->f_type != SWAPSPEC) { - (void) unlink(path(swapname)); + (void) unlink(path(newswapname)); fclose(fp); return (swap); } @@ -107,6 +109,7 @@ do_swap(fl) fprintf(fp, "\n"); fprintf(fp, "void\nsetconf()\n{\n}\n"); fclose(fp); + moveifchanged(path(newswapname), path(swapname)); return (swap); } |