diff options
author | Mystery Man <unknown@mandriva.org> | 2003-08-13 10:49:24 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2003-08-13 10:49:24 +0000 |
commit | 563ec40ca81867c0d1cea1ae0f2381bfe832af24 (patch) | |
tree | 0529018e1ea0aadf30e14c9cc0855231420fd566 /mdk-stage1/dietlibc/libugly/popen.c | |
parent | dbb520cae669edc0b61148daf92caf2cfef3cfed (diff) | |
download | drakx-backup-do-not-use-563ec40ca81867c0d1cea1ae0f2381bfe832af24.tar drakx-backup-do-not-use-563ec40ca81867c0d1cea1ae0f2381bfe832af24.tar.gz drakx-backup-do-not-use-563ec40ca81867c0d1cea1ae0f2381bfe832af24.tar.bz2 drakx-backup-do-not-use-563ec40ca81867c0d1cea1ae0f2381bfe832af24.tar.xz drakx-backup-do-not-use-563ec40ca81867c0d1cea1ae0f2381bfe832af24.zip |
This commit was manufactured by cvs2svn to create tag 'V9_2_0_29mdk'.V9_2_0_29mdk
Diffstat (limited to 'mdk-stage1/dietlibc/libugly/popen.c')
-rw-r--r-- | mdk-stage1/dietlibc/libugly/popen.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/mdk-stage1/dietlibc/libugly/popen.c b/mdk-stage1/dietlibc/libugly/popen.c deleted file mode 100644 index aa9a2cde0..000000000 --- a/mdk-stage1/dietlibc/libugly/popen.c +++ /dev/null @@ -1,38 +0,0 @@ -#include "dietstdio.h" -#include <unistd.h> -#include <fcntl.h> -#include "binshstr.h" - -extern char **environ; - -FILE *popen(const char *command, const char *type) { - int pfd[2]; - int fd0; - FILE* f; - pid_t pid; - - if (pipe(pfd)<0) return 0; - fd0=(*type=='r'); - if (!(f=fdopen(pfd[!fd0],type))) { - close(pfd[0]); /* malloc failed */ - close(pfd[1]); - return 0; - } - if ((pid=fork())<0) { - close(pfd[0]); - close(pfd[1]); - return 0; - } - if (!pid) { /* child */ - const char *argv[]={__sh,"-c",0,0}; - close(pfd[!fd0]); close(fd0); - dup2(pfd[fd0],fd0); close(pfd[fd0]); - argv[2]=command; - execve(__binsh,(char*const*)argv,environ); - _exit(127); - } - close(pfd[fd0]); - fcntl (pfd[!fd0], F_SETFD, FD_CLOEXEC); - f->popen_kludge=pid; - return f; -} |