summaryrefslogtreecommitdiffstats
path: root/usr.sbin/config/mkswapconf.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1996-01-12 08:57:10 +0000
committerpeter <peter@FreeBSD.org>1996-01-12 08:57:10 +0000
commit5b70a95cd827978a62482802e9ff51d4e958da7e (patch)
tree87f917319075f55b3a7df24a1226cb5fd2de48e6 /usr.sbin/config/mkswapconf.c
parentb90ef46a2fbc1f210795d01c9dee181dbf3f1922 (diff)
downloadFreeBSD-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.c9
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);
}
OpenPOWER on IntegriCloud