rminnichinitial1fcdf7916 years agoHistory
34 lines · 437 B · C
RawDownload
#include <u.h>#include <libc.h> Waitmsg*system(char *name, char **argv){	char err[ERRMAX];	Waitmsg *w;	int pid; 	switch(pid = fork()){	/* assign = */	case -1:		return nil;	case 0:		exec(name, argv);		errstr(err, sizeof err);		_exits(err);	}	for(;;){		w = wait();		if(w == nil)			break;		if(w->pid == pid)			return w;		free(w);	}	return nil;} Waitmsg*systeml(char *name, ...){	return system(name, &name+1);}