Applied patch from I.Q. to add -s to cmp.
This commit is contained in:
		@@ -115,6 +115,7 @@
 | 
			
		||||
#define cmp_trivial_usage \
 | 
			
		||||
	"FILE1 [FILE2]"
 | 
			
		||||
#define cmp_full_usage \
 | 
			
		||||
	"\t-s\tquiet mode - do not print\n" \
 | 
			
		||||
	"Compare files."
 | 
			
		||||
 | 
			
		||||
#define cp_trivial_usage \
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										32
									
								
								cmp.c
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								cmp.c
									
									
									
									
									
								
							@@ -26,28 +26,42 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <getopt.h>
 | 
			
		||||
#include "busybox.h"
 | 
			
		||||
 | 
			
		||||
int cmp_main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
	FILE *fp1 = NULL, *fp2 = stdin;
 | 
			
		||||
	char *filename1 = argv[1], *filename2 = "-";
 | 
			
		||||
	int c1, c2, char_pos = 1, line_pos = 1;
 | 
			
		||||
	char *filename1, *filename2 = "-";
 | 
			
		||||
	int c, c1, c2, char_pos = 1, line_pos = 1, silent = FALSE;
 | 
			
		||||
 | 
			
		||||
	/* parse argv[] */
 | 
			
		||||
	if (argc < 2 || 3 < argc)
 | 
			
		||||
		show_usage();
 | 
			
		||||
	while ((c = getopt(argc, argv, "s")) != EOF) {
 | 
			
		||||
		switch (c) {
 | 
			
		||||
			case 's':
 | 
			
		||||
				silent = TRUE;
 | 
			
		||||
				break;
 | 
			
		||||
			default:
 | 
			
		||||
				show_usage();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fp1 = xfopen(argv[1], "r");
 | 
			
		||||
	if (argv[2] != NULL) {
 | 
			
		||||
		fp2 = xfopen(argv[2], "r");
 | 
			
		||||
		filename2 = argv[2];
 | 
			
		||||
	filename1 = argv[optind];
 | 
			
		||||
	switch (argc - optind) {
 | 
			
		||||
		case 2:
 | 
			
		||||
			fp2 = xfopen(filename2 = argv[optind + 1], "r");
 | 
			
		||||
		case 1:
 | 
			
		||||
			fp1 = xfopen(filename1, "r");
 | 
			
		||||
			break;
 | 
			
		||||
		default:
 | 
			
		||||
			show_usage();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	do {
 | 
			
		||||
		c1 = fgetc(fp1);
 | 
			
		||||
		c2 = fgetc(fp2);
 | 
			
		||||
		if (c1 != c2) {
 | 
			
		||||
			if (silent)
 | 
			
		||||
				return EXIT_FAILURE;
 | 
			
		||||
			if (c1 == EOF)
 | 
			
		||||
				printf("EOF on %s\n", filename1);
 | 
			
		||||
			else if (c2 == EOF)
 | 
			
		||||
 
 | 
			
		||||
@@ -26,28 +26,42 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <getopt.h>
 | 
			
		||||
#include "busybox.h"
 | 
			
		||||
 | 
			
		||||
int cmp_main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
	FILE *fp1 = NULL, *fp2 = stdin;
 | 
			
		||||
	char *filename1 = argv[1], *filename2 = "-";
 | 
			
		||||
	int c1, c2, char_pos = 1, line_pos = 1;
 | 
			
		||||
	char *filename1, *filename2 = "-";
 | 
			
		||||
	int c, c1, c2, char_pos = 1, line_pos = 1, silent = FALSE;
 | 
			
		||||
 | 
			
		||||
	/* parse argv[] */
 | 
			
		||||
	if (argc < 2 || 3 < argc)
 | 
			
		||||
		show_usage();
 | 
			
		||||
	while ((c = getopt(argc, argv, "s")) != EOF) {
 | 
			
		||||
		switch (c) {
 | 
			
		||||
			case 's':
 | 
			
		||||
				silent = TRUE;
 | 
			
		||||
				break;
 | 
			
		||||
			default:
 | 
			
		||||
				show_usage();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fp1 = xfopen(argv[1], "r");
 | 
			
		||||
	if (argv[2] != NULL) {
 | 
			
		||||
		fp2 = xfopen(argv[2], "r");
 | 
			
		||||
		filename2 = argv[2];
 | 
			
		||||
	filename1 = argv[optind];
 | 
			
		||||
	switch (argc - optind) {
 | 
			
		||||
		case 2:
 | 
			
		||||
			fp2 = xfopen(filename2 = argv[optind + 1], "r");
 | 
			
		||||
		case 1:
 | 
			
		||||
			fp1 = xfopen(filename1, "r");
 | 
			
		||||
			break;
 | 
			
		||||
		default:
 | 
			
		||||
			show_usage();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	do {
 | 
			
		||||
		c1 = fgetc(fp1);
 | 
			
		||||
		c2 = fgetc(fp2);
 | 
			
		||||
		if (c1 != c2) {
 | 
			
		||||
			if (silent)
 | 
			
		||||
				return EXIT_FAILURE;
 | 
			
		||||
			if (c1 == EOF)
 | 
			
		||||
				printf("EOF on %s\n", filename1);
 | 
			
		||||
			else if (c2 == EOF)
 | 
			
		||||
 
 | 
			
		||||
@@ -115,6 +115,7 @@
 | 
			
		||||
#define cmp_trivial_usage \
 | 
			
		||||
	"FILE1 [FILE2]"
 | 
			
		||||
#define cmp_full_usage \
 | 
			
		||||
	"\t-s\tquiet mode - do not print\n" \
 | 
			
		||||
	"Compare files."
 | 
			
		||||
 | 
			
		||||
#define cp_trivial_usage \
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user