diff --git a/usr.bin/dc/bcode.c b/usr.bin/dc/bcode.c index 8b220080fc2995..8be43b9043a6da 100644 --- a/usr.bin/dc/bcode.c +++ b/usr.bin/dc/bcode.c @@ -1620,11 +1620,9 @@ skipN(void) static void skip_until_mark(void) { - int ch; for (;;) { - ch = readch(); - switch (ch) { + switch (readch()) { case 'M': return; case EOF: @@ -1649,7 +1647,7 @@ skip_until_mark(void) free(read_string(&bmachine.readstack[bmachine.readsp])); break; case '!': - switch (ch = readch()) { + switch (readch()) { case '<': case '>': case '=': diff --git a/usr.bin/dc/dc.c b/usr.bin/dc/dc.c index fd412b856c21b5..08a95522b8648f 100644 --- a/usr.bin/dc/dc.c +++ b/usr.bin/dc/dc.c @@ -82,16 +82,8 @@ main(int argc, char *argv[]) { int ch; bool extended_regs = false; - char *buf; bool preproc_done = false; - if ((buf = strdup("")) == NULL) - err(1, NULL); - - init_bmachine(extended_regs); - setlinebuf(stdout); - setlinebuf(stderr); - /* accept and ignore a single dash to be 4.4BSD dc(1) compatible */ while ((ch = getopt_long(argc, argv, "e:f:Vx", long_options, NULL)) != -1) { switch (ch) { @@ -123,6 +115,10 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; + init_bmachine(extended_regs); + setlinebuf(stdout); + setlinebuf(stderr); + if (argc > 1) usage(); if (argc == 1) {