On 13 Apr 2010, at 08:48, Hizel Ildar wrote: > My patch: > > foo# diff -ruN dc.c.orig dc.c > --- dc.c.orig 2010-04-13 10:33:22.000000000 +0400 > +++ dc.c 2010-04-13 11:44:18.000000000 +0400 > @@ -87,12 +87,16 @@ > 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,9 @@ > argc -= optind; > argv += optind; > > - init_bmachine(extended_regs); > + if (!preproc_done) > + init_bmachine(extended_regs); > + > setlinebuf(stdout); > setlinebuf(stderr); > > > test: > > foo# dc -f /tmp/test > 3 > foo# dc -e "6 2/p" > 3 > foo# dc -e "6 2/p" -f /tmp/test > 3 > 3 > foo# dc -e "6 2/p" -f /tmp/test /tmp/test > 3 > 3 > 3
This looks sane to me. Regards, -- Rui Paulo _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"