OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [uclinux/] [uC-libc/] [misc/] [execvep.c] - Rev 1775

Go to most recent revision | Compare with Previous | Blame | View Log

 
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
 
int execvep(path, argv, envp)
const char * path;
const char * argv[];
const char * envp[];
{
	if (!strchr(path, '/')) {
		char partial[128];
		char * p = getenv("PATH");
		char * p2;
 
		if (!p)
			p = "/bin:/usr/bin";
 
		for (;p && *p;) {
 
			strcpy(partial, p);
 
			p2 = strchr(partial, ':');
			if (p2)
				*p2 = '\0';
 
			if (strlen(partial))
				strcat(partial, "/");
			strcat(partial, path);
 
			execve(partial, argv, envp);
 
			if (errno != ENOENT)
				return -1;
 
			p2 = strchr(p, ':');
			if (p2)
				p = p2 + 1;
			else
				p = 0;
		}
		return -1;
	} else
		return execve(path, argv, envp);
}
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.