version 1.47, 2014/11/26 18:34:51 |
version 1.48, 2015/10/10 19:28:54 |
|
|
int p[2]; |
int p[2]; |
char *q; |
char *q; |
|
|
|
if (pledge("stdio rpath proc tty", NULL) == -1) |
|
err(1, "pledge"); |
|
|
init(); |
init(); |
setvbuf(stdout, NULL, _IOLBF, 0); |
setvbuf(stdout, NULL, _IOLBF, 0); |
|
|
|
|
close(p[0]); |
close(p[0]); |
close(p[1]); |
close(p[1]); |
} else { |
} else { |
|
char *dc_argv[] = { "dc", "-x", NULL }; |
|
extern int dc_main(int, char **); |
|
|
|
if (pledge("stdio", NULL) == -1) |
|
err(1, "pledge"); |
|
|
close(STDIN_FILENO); |
close(STDIN_FILENO); |
dup(p[0]); |
dup(p[0]); |
close(p[0]); |
close(p[0]); |
close(p[1]); |
close(p[1]); |
execl(_PATH_DC, "dc", "-x", (char *)NULL); |
|
err(1, "cannot find dc"); |
exit (dc_main(2, dc_argv)); |
} |
} |
} |
} |
if (interactive) { |
if (interactive) { |
|
|
el_set(el, EL_BIND, "^D", "bc_eof", NULL); |
el_set(el, EL_BIND, "^D", "bc_eof", NULL); |
el_source(el, NULL); |
el_source(el, NULL); |
} |
} |
|
|
|
if (pledge("stdio rpath tty", NULL) == -1) |
|
err(1, "pledge"); |
|
|
yywrap(); |
yywrap(); |
return yyparse(); |
return yyparse(); |
} |
} |