aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-07-01 10:16:05 +0300
committerArnold D. Robbins <arnold@skeeve.com>2016-07-01 10:16:05 +0300
commitb11d9d80ffce53cfdaebb076ea67420884fba6ab (patch)
treeb8399674fc9eaf9d9f189249b357194824fbd435
parent72645295eec48c30ed6a9b9f8bf21b9f53995524 (diff)
downloadegawk-b11d9d80ffce53cfdaebb076ea67420884fba6ab.tar.gz
egawk-b11d9d80ffce53cfdaebb076ea67420884fba6ab.tar.bz2
egawk-b11d9d80ffce53cfdaebb076ea67420884fba6ab.zip
Allow -d- to print to stdout.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS2
-rw-r--r--awkgram.c4
-rw-r--r--awkgram.y4
4 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 5e381305..e7ef8c82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,7 +14,9 @@
Unrelated:
* symbol.c (get_symbols): Add FUNCTAB and SYMTAB to the list
- for the -d option. Thanks to Hermann Peifer for the report.
+ for the -d option.
+ * awkgram.y (dump_vars): Allow "-" to mean print to stdout.
+ Thanks to Hermann Peifer for the reports.
2016-06-26 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/NEWS b/NEWS
index 8c4e2c3e..8474e69a 100644
--- a/NEWS
+++ b/NEWS
@@ -36,6 +36,8 @@ Changes from 4.1.3 to 4.1.4
10. MinGW support has been updated.
+11. The -d option now allows -d- to print to standard output.
+
Changes from 4.1.2 to 4.1.3
---------------------------
diff --git a/awkgram.c b/awkgram.c
index bc91d406..5455430b 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -6547,6 +6547,8 @@ dump_vars(const char *fname)
if (fname == NULL)
fp = stderr;
+ else if (strcmp(fname, "-") == 0)
+ fp = stdout;
else if ((fp = fopen(fname, "w")) == NULL) {
warning(_("could not open `%s' for writing (%s)"), fname, strerror(errno));
warning(_("sending variable list to standard error"));
@@ -6556,7 +6558,7 @@ dump_vars(const char *fname)
vars = variable_list();
print_vars(vars, fprintf, fp);
efree(vars);
- if (fp != stderr && fclose(fp) != 0)
+ if (fp != stdout && fp != stderr && fclose(fp) != 0)
warning(_("%s: close failed (%s)"), fname, strerror(errno));
}
diff --git a/awkgram.y b/awkgram.y
index e9d535e7..6aa90c50 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -4208,6 +4208,8 @@ dump_vars(const char *fname)
if (fname == NULL)
fp = stderr;
+ else if (strcmp(fname, "-") == 0)
+ fp = stdout;
else if ((fp = fopen(fname, "w")) == NULL) {
warning(_("could not open `%s' for writing (%s)"), fname, strerror(errno));
warning(_("sending variable list to standard error"));
@@ -4217,7 +4219,7 @@ dump_vars(const char *fname)
vars = variable_list();
print_vars(vars, fprintf, fp);
efree(vars);
- if (fp != stderr && fclose(fp) != 0)
+ if (fp != stdout && fp != stderr && fclose(fp) != 0)
warning(_("%s: close failed (%s)"), fname, strerror(errno));
}