xref: /plan9/sys/src/cmd/tcs/plan9.h (revision e94a8e9b44de11e62dfd4566245554f8bf8e0295)
1 typedef unsigned long Rune;		/* 21 bits */
2 typedef unsigned char uchar;
3 #define		Runeerror	0x80	/* decoding error in UTF */
4 #define		Runeself	0x80	/* rune and UTF sequences are the same (<) */
5 #define		UTFmax		6	/* maximum bytes per rune */
6 
7 /*
8 	plan 9 argument parsing
9 */
10 #define	ARGBEGIN	for((argv0? 0: (argv0= *argv)),argv++,argc--;\
11 			    argv[0] && argv[0][0]=='-' && argv[0][1];\
12 			    argc--, argv++) {\
13 				char *_args, *_argt, _argc;\
14 				_args = &argv[0][1];\
15 				if(_args[0]=='-' && _args[1]==0){\
16 					argc--; argv++; break;\
17 				}\
18 				_argc=0;while(*_args) switch(_argc= *_args++)
19 #define	ARGEND		}
20 #define	ARGF()		(_argt=_args, _args="",\
21 				(*_argt? _argt: argv[1]? (argc--, *++argv): 0))
22 #define	ARGC()		_argc
23 extern char *argv0;
24