xref: /plan9/sys/src/cmd/unmount.c (revision 649197e1527dbedaf9577cb972c8a1f950d133c6)
13e12c5d1SDavid du Colombier #include <u.h>
23e12c5d1SDavid du Colombier #include <libc.h>
33e12c5d1SDavid du Colombier 
43e12c5d1SDavid du Colombier void
main(int argc,char * argv[])53e12c5d1SDavid du Colombier main(int argc, char *argv[])
63e12c5d1SDavid du Colombier {
73e12c5d1SDavid du Colombier 	int r;
8*649197e1SDavid du Colombier 	char *mnted, *mtpt;
93e12c5d1SDavid du Colombier 
10*649197e1SDavid du Colombier 	argv0 = argv[0];
11*649197e1SDavid du Colombier 	switch (argc) {
12*649197e1SDavid du Colombier 	case 2:
13*649197e1SDavid du Colombier 		mnted = nil;
14*649197e1SDavid du Colombier 		mtpt = argv[1];
15*649197e1SDavid du Colombier 		break;
16*649197e1SDavid du Colombier 	case 3:
17*649197e1SDavid du Colombier 		mnted = argv[1];
18*649197e1SDavid du Colombier 		mtpt = argv[2];
19*649197e1SDavid du Colombier 		break;
20*649197e1SDavid du Colombier 	default:
21*649197e1SDavid du Colombier 		SET(mnted, mtpt);
223e12c5d1SDavid du Colombier 		fprint(2, "usage: unmount mountpoint\n");
233e12c5d1SDavid du Colombier 		fprint(2, "       unmount mounted mountpoint\n");
243e12c5d1SDavid du Colombier 		exits("usage");
253e12c5d1SDavid du Colombier 	}
263e12c5d1SDavid du Colombier 
279a747e4fSDavid du Colombier 	/* unmount takes arguments in the same order as mount */
28*649197e1SDavid du Colombier 	r = unmount(mnted, mtpt);
29*649197e1SDavid du Colombier 	if(r < 0)
30*649197e1SDavid du Colombier 		sysfatal("%s: %r", mtpt);
313e12c5d1SDavid du Colombier 	exits(0);
323e12c5d1SDavid du Colombier }
33