summaryrefslogtreecommitdiff
path: root/src/utils.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-08-10 18:00:07 +0100
committerVincent Sanders <vince@kyllikki.org>2015-08-10 18:00:07 +0100
commit26b75830ab942bc9116e8769652afa24d0d9550d (patch)
tree107f401c7f85f79fb23c242af228cacd18e49e53 /src/utils.c
parent63745977ad219ca9474462268651f77e49218956 (diff)
downloadnsgenbind-26b75830ab942bc9116e8769652afa24d0d9550d.tar.gz
nsgenbind-26b75830ab942bc9116e8769652afa24d0d9550d.tar.bz2
Add dry run feature
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/utils.c b/src/utils.c
index 0952744..85d26f2 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -48,7 +48,11 @@ FILE *genb_fopen(const char *fname, const char *mode)
char *fpath;
FILE *filef;
- fpath = genb_fpath(fname);
+ if (options->dryrun) {
+ fpath = strdup("/dev/null");
+ } else {
+ fpath = genb_fpath(fname);
+ }
filef = fopen(fpath, mode);
if (filef == NULL) {
@@ -68,7 +72,11 @@ FILE *genb_fopen_tmp(const char *fname)
char *fpath;
FILE *filef;
- fpath = genb_fpath_tmp(fname);
+ if (options->dryrun) {
+ fpath = strdup("/dev/null");
+ } else {
+ fpath = genb_fpath_tmp(fname);
+ }
filef = fopen(fpath, "w+");
if (filef == NULL) {
@@ -92,6 +100,11 @@ int genb_fclose_tmp(FILE *filef_tmp, const char *fname)
size_t trd;
size_t frd;
+ if (options->dryrun) {
+ fclose(filef_tmp);
+ return 0;
+ }
+
fpath = genb_fpath(fname);
tpath = genb_fpath_tmp(fname);