Home | History | Annotate | Download | only in bionic

Lines Matching defs:argv

58   // Construct the new argv.
59 char* argv[n + 1];
60 argv[0] = const_cast<char*>(argv0);
62 while ((argv[n] = va_arg(ap, char*)) != nullptr) {
71 return (variant == kIsExecLP) ? execvp(name, argv) : execve(name, argv, argp);
98 int execv(const char* name, char* const* argv) {
99 return execve(name, argv, environ);
102 int execvp(const char* name, char* const* argv) {
103 return execvpe(name, argv, environ);
106 static int __exec_as_script(const char* buf, char* const* argv, char* const* envp) {
108 while (argv[arg_count] != nullptr) ++arg_count;
113 memcpy(script_argv + 2, argv + 1, arg_count * sizeof(char*));
117 int execvpe(const char* name, char* const* argv, char* const* envp) {
125 if (strchr(name, '/') && execve(name, argv, envp) == -1) {
126 if (errno == ENOEXEC) return __exec_as_script(name, argv, envp);
155 execve(buf, argv, envp);
164 return __exec_as_script(buf, argv, envp);
176 int fexecve(int fd, char* const* argv, char* const* envp) {
178 execve(FdPath(fd).c_str(), argv, envp);