[w3m-dev 03679] Re: cleanup for pipe

* etc.c (open_pipe_rw): check stdin, stdout
* file.c (uncompress_stream): rewrite
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2003-01-23 15:59:24 +00:00
parent a0300c84b8
commit fb759b572b
3 changed files with 32 additions and 14 deletions

12
etc.c
View File

@@ -1,4 +1,4 @@
/* $Id: etc.c,v 1.54 2003/01/22 16:11:03 ukai Exp $ */
/* $Id: etc.c,v 1.55 2003/01/23 15:59:25 ukai Exp $ */
#include "fm.h"
#include <pwd.h>
#include "myctype.h"
@@ -1369,11 +1369,17 @@ open_pipe_rw(FILE ** fr, FILE ** fw)
else {
if (fr) {
close(fdr[1]);
*fr = fdopen(fdr[0], "r");
if (*fr == stdin)
dup2(fdr[0], 0);
else
*fr = fdopen(fdr[0], "r");
}
if (fw) {
close(fdw[0]);
*fw = fdopen(fdw[1], "w");
if (*fw == stdout)
dup2(fdw[1], 1);
else
*fw = fdopen(fdw[1], "w");
}
}
return pid;