summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libugly/popen.c
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2004-07-15 06:27:30 +0000
committerMystery Man <unknown@mandriva.org>2004-07-15 06:27:30 +0000
commit9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2 (patch)
treeb5ddf2e127d03e3a0f8fbf0caded464da2ed447c /mdk-stage1/dietlibc/libugly/popen.c
parent416a326f1fc775511cf1eac2c04cca2a69d9961a (diff)
downloaddrakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.tar
drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.tar.gz
drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.tar.bz2
drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.tar.xz
drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.zip
This commit was manufactured by cvs2svn to create tag 'V10_54mdk'.V10_54mdk
Diffstat (limited to 'mdk-stage1/dietlibc/libugly/popen.c')
-rw-r--r--mdk-stage1/dietlibc/libugly/popen.c38
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;
-}