diff options
author | gabor <gabor@FreeBSD.org> | 2010-06-06 11:32:38 +0000 |
---|---|---|
committer | gabor <gabor@FreeBSD.org> | 2010-06-06 11:32:38 +0000 |
commit | 76c8a3922dee033069971e3d1c1f0a54b42fe9b5 (patch) | |
tree | 85e792023500d166d74022948dd1af9787bf2f5c /usr.bin/dc | |
parent | 44bdecdec30bfb4fe0e262de62fb731a65c78527 (diff) | |
download | FreeBSD-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.c | 7 |
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); |