extern const char *__progname; static int count; static int maskstyle; static int oneperline; /* XXX these should be handled by lex and/or its template! */ int yylex(void); int yywrap(void); static int getnumber(char *s) { int v; if (*s == '0') { s ++; if (*s == 'x') { s ++; sscanf(s,"%x",&v); } else if (*s) { sscanf(s,"%o",&v); } else { v = 0; } } else { sscanf(s,"%d",&v); } return(v); } int main(int, char **); int main(int ac, char **av) { int errs; int argno; count = 1; maskstyle = 0; errs = 0; argno = 0; for (ac--,av++;ac;ac--,av++) { if (**av == '-') { for (++*av;**av;++*av) { switch (**av) { default: fprintf(stderr,"%s: unknown flag -%c\n",__progname,**av); errs ++; break; case 'm': maskstyle = 1; break; case '1': oneperline = 1; break; } } } else { switch (argno++) { default: fprintf(stderr,"%s: stray argument `%s'\n",__progname,*av); errs ++; break; case 0: count = getnumber(*av); break; } } } yylex(); return(0); } int yywrap(void) { return(1); }