Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
 
4
Waitmsg*
5
system(char *name, char **argv)
6
{
7
	char err[ERRMAX];
8
	Waitmsg *w;
9
	int pid;
10
 
11
	switch(pid = fork()){	/* assign = */
12
	case -1:
13
		return nil;
14
	case 0:
15
		exec(name, argv);
16
		errstr(err, sizeof err);
17
		_exits(err);
18
	}
19
	for(;;){
20
		w = wait();
21
		if(w == nil)
22
			break;
23
		if(w->pid == pid)
24
			return w;
25
		free(w);
26
	}
27
	return nil;
28
}
29
 
30
Waitmsg*
31
systeml(char *name, ...)
32
{
33
	return system(name, &name+1);
34
}