inline strcmp(s, "-") [actually macro-ize it for now - gcc is too stupid]
This commit is contained in:
		@@ -168,6 +168,8 @@ int cut_main(int argc, char **argv)
 | 
			
		||||
 | 
			
		||||
	opt_complementary = "b--bcf:c--bcf:f--bcf";
 | 
			
		||||
	getopt32(argc, argv, optstring, &sopt, &sopt, &sopt, <ok);
 | 
			
		||||
//	argc -= optind;
 | 
			
		||||
	argv += optind;
 | 
			
		||||
	if (!(option_mask32 & (CUT_OPT_BYTE_FLGS | CUT_OPT_CHAR_FLGS | CUT_OPT_FIELDS_FLGS)))
 | 
			
		||||
		bb_error_msg_and_die("expected a list of bytes, characters, or fields");
 | 
			
		||||
	if (option_mask32 & BB_GETOPT_ERROR)
 | 
			
		||||
@@ -262,22 +264,21 @@ int cut_main(int argc, char **argv)
 | 
			
		||||
		qsort(cut_lists, nlists, sizeof(struct cut_list), cmpfunc);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* argv[(optind)..(argc-1)] should be names of file to process. If no
 | 
			
		||||
	/* argv[0..argc-1] should be names of file to process. If no
 | 
			
		||||
	 * files were specified or '-' was specified, take input from stdin.
 | 
			
		||||
	 * Otherwise, we process all the files specified. */
 | 
			
		||||
	if (argv[optind] == NULL
 | 
			
		||||
		|| (argv[optind][0] == '-' && argv[optind][1] == '\0')) {
 | 
			
		||||
	if (argv[0] == NULL || LONE_DASH(argv[0])) {
 | 
			
		||||
		cut_file(stdin);
 | 
			
		||||
	} else {
 | 
			
		||||
		FILE *file;
 | 
			
		||||
 | 
			
		||||
		for (; optind < argc; optind++) {
 | 
			
		||||
			file = fopen_or_warn(argv[optind], "r");
 | 
			
		||||
		do {
 | 
			
		||||
			file = fopen_or_warn(argv[0], "r");
 | 
			
		||||
			if (file) {
 | 
			
		||||
				cut_file(file);
 | 
			
		||||
				fclose(file);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		} while (*++argv);
 | 
			
		||||
	}
 | 
			
		||||
	if (ENABLE_FEATURE_CLEAN_UP)
 | 
			
		||||
		free(cut_lists);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user