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
#include "multiproto.h"
5
struct {
6
	char *name; 
7
	void (*fn)(int, char**);
8
} mains[] =
9
{
10
#include "multi.h"
11
};
12
 
13
void
14
main(int argc, char **argv)
15
{
16
	int i;
17
	char *cmd, *p;
18
 
19
	if(argc == 1){
20
		fprint(2, "usage: multi cmd args...\n");
21
		exits("usage");
22
	}
23
 
24
	cmd = argv[1];
25
	if(p = strrchr(cmd, '/'))
26
		cmd = p+1;
27
	argv++;
28
	argc--;
29
 
30
	for(i=0; i<nelem(mains); i++){
31
		if(strcmp(cmd, mains[i].name) == 0){
32
			mains[i].fn(argc, argv);
33
			return;
34
		}
35
	}
36
	fprint(2, "multi: no such cmd %s\n", cmd);
37
	exits("no cmd");
38
}