summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/exec_lib.c
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-05-14 14:19:32 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-05-14 14:19:32 +0000
commit167217bec15c9c7aa70ba2a3dc9c689b3cd91872 (patch)
tree7c0c62debf8f9f145643102fb52b81afce743594 /mdk-stage1/dietlibc/lib/exec_lib.c
parent9097327dc1c667fc51b8e05cc7c0626fac96665d (diff)
downloaddrakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar
drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.gz
drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.bz2
drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.xz
drakx-backup-do-not-use-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.zip
import new version of dietlibc
Diffstat (limited to 'mdk-stage1/dietlibc/lib/exec_lib.c')
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/exec_lib.c b/mdk-stage1/dietlibc/lib/exec_lib.c
new file mode 100644
index 000000000..3129224a0
--- /dev/null
+++ b/mdk-stage1/dietlibc/lib/exec_lib.c
@@ -0,0 +1,20 @@
+#include <unistd.h>
+#include <paths.h>
+
+extern char **environ;
+
+int __exec_shell(const char *file, char *const argv[]) {
+ int i;
+
+ for (i = 0; argv[i]; i++);
+
+ {
+ char *shell_argv[i + 1];
+ shell_argv[0] = _PATH_BSHELL;
+ shell_argv[1] = (char *) file;
+ for (; i > 1; i--)
+ shell_argv[i] = argv[i - 1];
+ return execve(_PATH_BSHELL, shell_argv, environ);
+ }
+}
+