summaryrefslogtreecommitdiff
path: root/sys/src/cmd/upas/fs/extra/prflags.c
blob: 6a42045d1196cafbc56b8c9534a520fe6030e953 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "common.h"

void
usage(void)
{
	fprint(2, "usage: prflags\n");
	exits("usage");
}

void
main(int argc, char **argv)
{
	char *f[Fields+1], buf[20], *s;
	int n;
	Biobuf b, o;

	ARGBEGIN{
	default:
		usage();
	}ARGEND
	if(argc)
		usage();
	Binit(&b, 0, OREAD);
	Binit(&o, 1, OWRITE);

	for(; s = Brdstr(&b, '\n', 1); free(s)){
		n = gettokens(s, f, nelem(f), " ");
		if(n != Fields)
			continue;
		if(!strcmp(f[0], "-"))
			continue;
		Bprint(&o, "%s\n", flagbuf(buf, strtoul(f[1], 0, 16)));
	}
	Bterm(&b);
	Bterm(&o);
	exits("");
}