- Argc--, argv++;
- argc = Argc;
- do {
- while (argc > 0 && argv[0][0] == '-') {
- linecnt = getnum(argv[0] + 1);
- argc--, argv++, Argc--;
+ if (argc > 1 && argv[1][0] == '-') {
+ if (!isdigit(argv[1][1])) {
+ fprintf(stderr, "head: illegal option -- %c\n", argv[1][1]);
+ goto usage;
+ }
+ if ((linecnt = atoi(argv[1] + 1)) < 0) {
+usage: fputs("usage: head [-line_count] [file ...]\n", stderr);
+ exit(1);
+ }
+ --argc; ++argv;
+ }
+ /* setlinebuf(stdout); */
+ for (firsttime = 1, --argc, ++argv;; firsttime = 0) {
+ if (!*argv) {
+ if (!firsttime)
+ exit(0);