aboutsummaryrefslogtreecommitdiffstats
path: root/bin/check/check-tool.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/check/check-tool.c')
-rw-r--r--bin/check/check-tool.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bin/check/check-tool.c b/bin/check/check-tool.c
index e936b7cc9dd2..cb330f2f7db2 100644
--- a/bin/check/check-tool.c
+++ b/bin/check/check-tool.c
@@ -640,6 +640,9 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
{
isc_result_t result;
FILE *output = stdout;
+ const char *flags;
+
+ flags = (fileformat == dns_masterformat_text) ? "w+" : "wb+";
if (debug) {
if (filename != NULL && strcmp(filename, "-") != 0)
@@ -650,7 +653,7 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
}
if (filename != NULL && strcmp(filename, "-") != 0) {
- result = isc_stdio_open(filename, "w+", &output);
+ result = isc_stdio_open(filename, flags, &output);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not open output "