summaryrefslogtreecommitdiffstats
path: root/usr.bin/dc
diff options
context:
space:
mode:
authorgabor <gabor@FreeBSD.org>2010-06-06 11:32:38 +0000
committergabor <gabor@FreeBSD.org>2010-06-06 11:32:38 +0000
commit76c8a3922dee033069971e3d1c1f0a54b42fe9b5 (patch)
tree85e792023500d166d74022948dd1af9787bf2f5c /usr.bin/dc
parent44bdecdec30bfb4fe0e262de62fb731a65c78527 (diff)
downloadFreeBSD-src-76c8a3922dee033069971e3d1c1f0a54b42fe9b5.zip
FreeBSD-src-76c8a3922dee033069971e3d1c1f0a54b42fe9b5.tar.gz
- Fig segmentation fault
Submitted by: Hizel Ildar <hizel@vyborg.ru> (via current@)
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 1376653..96ff206 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);
OpenPOWER on IntegriCloud