diff --git a/libc/Makefile b/libc/Makefile index 2a6cf0cc..080886cb 100644 --- a/libc/Makefile +++ b/libc/Makefile @@ -197,9 +197,6 @@ unlink.o \ uptime.o \ usleep.o \ utime.o \ -vexecle.o \ -vexecl.o \ -vexeclp.o \ vscanf.o \ wait.o \ waitpid.o \ diff --git a/libc/include/unistd.h b/libc/include/unistd.h index 56021bf9..23a5b695 100644 --- a/libc/include/unistd.h +++ b/libc/include/unistd.h @@ -196,9 +196,6 @@ size_t readleast(int fd, void* buf, size_t least, size_t max); pid_t sfork(int flags); pid_t tfork(int flags, tforkregs_t* regs); int uptime(uintmax_t* usecssinceboot); -int vexecl(const char*, va_list args); -int vexecle(const char*, va_list args); -int vexeclp(const char*, va_list args); size_t writeall(int fd, const void* buf, size_t count); size_t writeleast(int fd, const void* buf, size_t least, size_t max); #endif diff --git a/libc/vexecl.cpp b/libc/vexecl.cpp deleted file mode 100644 index 0cb28d85..00000000 --- a/libc/vexecl.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - - Copyright(C) Jonas 'Sortie' Termansen 2011, 2012. - - This file is part of the Sortix C Library. - - The Sortix C Library is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or (at your - option) any later version. - - The Sortix C Library is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with the Sortix C Library. If not, see . - - vexecl.cpp - Loads a process image. - -*******************************************************************************/ - -#include -#include -#include - -extern "C" int vexecl(const char* pathname, va_list args) -{ - va_list iter; - va_copy(iter, args); - size_t numargs = 0; - while ( va_arg(iter, const char*) ) { numargs++; } - va_end(iter); - char** argv = (char**) malloc(sizeof(char*) * (numargs+1)); - if ( !argv ) { return -1; } - for ( size_t i = 0; i <= numargs; i++ ) - { - argv[i] = (char*) va_arg(args, const char*); - } - int result = execv(pathname, argv); - free(argv); - return result; -} diff --git a/libc/vexecle.cpp b/libc/vexecle.cpp deleted file mode 100644 index 3da8d899..00000000 --- a/libc/vexecle.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - - Copyright(C) Jonas 'Sortie' Termansen 2011, 2012. - - This file is part of the Sortix C Library. - - The Sortix C Library is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or (at your - option) any later version. - - The Sortix C Library is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with the Sortix C Library. If not, see . - - vexecle.cpp - Loads a process image. - -*******************************************************************************/ - -#include -#include -#include - -extern "C" int vexecle(const char* pathname, va_list args) -{ - va_list iter; - va_copy(iter, args); - size_t numargs = 0; - while ( va_arg(iter, const char*) ) { numargs++; } - va_end(iter); - char** argv = (char**) malloc(sizeof(char*) * (numargs+1)); - if ( !argv ) { return -1; } - for ( size_t i = 0; i < numargs; i++ ) - { - argv[i] = (char*) va_arg(args, const char*); - } - argv[numargs] = (char*) va_arg(args, char* const*) /* NULL */; - char* const* envp = va_arg(args, char* const*); - int result = execve(pathname, argv, envp); - free(argv); - return result; -} diff --git a/libc/vexeclp.cpp b/libc/vexeclp.cpp deleted file mode 100644 index 13232e10..00000000 --- a/libc/vexeclp.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - - Copyright(C) Jonas 'Sortie' Termansen 2011, 2012. - - This file is part of the Sortix C Library. - - The Sortix C Library is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or (at your - option) any later version. - - The Sortix C Library is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with the Sortix C Library. If not, see . - - vexeclp.cpp - Loads a process image. - -*******************************************************************************/ - -#include -#include -#include - -extern "C" int vexeclp(const char* filename, va_list args) -{ - va_list iter; - va_copy(iter, args); - size_t numargs = 0; - while ( va_arg(iter, const char*) ) { numargs++; } - va_end(iter); - char** argv = (char**) malloc(sizeof(char*) * (numargs+1)); - if ( !argv ) { return -1; } - for ( size_t i = 0; i <= numargs; i++ ) - { - argv[i] = (char*) va_arg(args, const char*); - } - int result = execvp(filename, argv); - free(argv); - return result; -}