diff --git a/src/dj.c b/src/dj.c index e407500..db847bd 100644 --- a/src/dj.c +++ b/src/dj.c @@ -314,7 +314,12 @@ int main(int argc, char *argv[]){ while((c = getopt(argc, argv, "a:Ab:B:c:di:fhHqs:S:o:")) != -1) switch(c){ case 'i': case 'o': - if(Io_fdopen(&ep[c == 'o'], optarg) != -1) + i = (c == 'o'); + if(optarg[0] == '-' && optarg[1] == '\0'){ /* optarg == "-" */ + ep[i].fd = (i == 0) ? STDIN_FILENO : STDOUT_FILENO; + ep[i].fn = (i == 0) ? stdin_name : stdout_name; + break; + }else if(Io_fdopen(&ep[i], optarg) != -1) break; terminate(ep); return oserr(optarg);