+ if (optind+1 < argc) {
+ fprintf(stderr, "Too many arguments.\n");
+ goto quit;
+ }
+
+ if (optind+1 == argc) {
+ int fd;
+
+ if ((fd = open(argv[optind], O_RDONLY)) < 0) {
+ fprintf(stderr, "open(): %s\n", strerror(errno));
+ goto quit;
+ }
+
+ if (dup2(fd, 0) < 0) {
+ fprintf(stderr, "dup2(): %s\n", strerror(errno));
+ goto quit;
+ }
+
+ close(fd);
+ }
+