aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/dc
diff options
context:
space:
mode:
authorGabor Kovesdan <gabor@FreeBSD.org>2010-06-06 11:32:38 +0000
committerGabor Kovesdan <gabor@FreeBSD.org>2010-06-06 11:32:38 +0000
commit31dadaf609fda5eb5cc826ef219a2eb896d1a026 (patch)
tree85e792023500d166d74022948dd1af9787bf2f5c /usr.bin/dc
parentc99b7cc5c963ceb736728a048ebb320eb4ee4739 (diff)
downloadsrc-31dadaf609fda5eb5cc826ef219a2eb896d1a026.tar.gz
src-31dadaf609fda5eb5cc826ef219a2eb896d1a026.zip
Notes
Diffstat (limited to 'usr.bin/dc')
-rw-r--r--usr.bin/dc/dc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr.bin/dc/dc.c b/usr.bin/dc/dc.c
index 13766539bdd7..96ff20678ceb 100644
--- a/usr.bin/dc/dc.c
+++ b/usr.bin/dc/dc.c
@@ -87,12 +87,16 @@ main(int argc, char *argv[])
while ((ch = getopt_long(argc, argv, "e:f:Vx", long_options, NULL)) != -1) {
switch (ch) {
case 'e':
+ if(!preproc_done)
+ init_bmachine(extended_regs);
src_setstring(&src, optarg);
reset_bmachine(&src);
eval();
preproc_done = true;
break;
case 'f':
+ if(!preproc_done)
+ init_bmachine(extended_regs);
procfile(optarg);
preproc_done = true;
break;
@@ -114,7 +118,8 @@ main(int argc, char *argv[])
argc -= optind;
argv += optind;
- init_bmachine(extended_regs);
+ if (!preproc_done)
+ init_bmachine(extended_regs);
setlinebuf(stdout);
setlinebuf(stderr);