svn commit: r316705 - stable/11/usr.bin/sdiff

Baptiste Daroussin bapt at FreeBSD.org
Tue Apr 11 16:32:47 UTC 2017


Author: bapt
Date: Tue Apr 11 16:32:46 2017
New Revision: 316705
URL: https://svnweb.freebsd.org/changeset/base/316705

Log:
  MFC r316637-r316638
  
  r316637:
  When passingthrough from sdiff to diff the -H/--speed-large-files
  options rename it to the long version as GNU diff only support the long
  version of the option not the short version
  
  r316638:
  Remove a useless loop over the long options before passing through some
  options to diff(1)

Modified:
  stable/11/usr.bin/sdiff/sdiff.1
  stable/11/usr.bin/sdiff/sdiff.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/usr.bin/sdiff/sdiff.1
==============================================================================
--- stable/11/usr.bin/sdiff/sdiff.1	Tue Apr 11 15:20:32 2017	(r316704)
+++ stable/11/usr.bin/sdiff/sdiff.1	Tue Apr 11 16:32:46 2017	(r316705)
@@ -4,7 +4,7 @@
 .\" Written by Raymond Lai <ray at cyth.net>.
 .\" Public domain.
 .\"
-.Dd $Mdocdate: July 5 2012 $
+.Dd April 8, 2017
 .Dt SDIFF 1
 .Os
 .Sh NAME
@@ -12,7 +12,7 @@
 .Nd side-by-side diff
 .Sh SYNOPSIS
 .Nm
-.Op Fl abdilstW
+.Op Fl abdilstHW
 .Op Fl I Ar regexp
 .Op Fl o Ar outfile
 .Op Fl w Ar width

Modified: stable/11/usr.bin/sdiff/sdiff.c
==============================================================================
--- stable/11/usr.bin/sdiff/sdiff.c	Tue Apr 11 15:20:32 2017	(r316704)
+++ stable/11/usr.bin/sdiff/sdiff.c	Tue Apr 11 16:32:46 2017	(r316705)
@@ -214,7 +214,6 @@ main(int argc, char **argv)
 	int ch, fd[2] = {-1}, status;
 	pid_t pid=0;
 	const char *outfile = NULL;
-	struct option *popt;
 	char **diffargv, *diffprog = DIFF_PATH, *filename1, *filename2,
 	     *tmp1, *tmp2, *s1, *s2;
 	int i;
@@ -260,9 +259,7 @@ main(int argc, char **argv)
 		case 'E':
 		case 'i':
 		case 't':
-		case 'H':
 		case 'W':
-			for(popt = longopts; ch != popt->val && popt->name != NULL; popt++);
 			diffargv[1]  = realloc(diffargv[1], sizeof(char) * strlen(diffargv[1]) + 2);
 			/*
 			 * In diff, the 'W' option is 'w' and the 'w' is 'W'.
@@ -272,6 +269,9 @@ main(int argc, char **argv)
 			else
 				sprintf(diffargv[1], "%s%c", diffargv[1], ch);
 			break;
+		case 'H':
+			diffargv[diffargc++] = "--speed-large-files";
+			break;
 		case DIFFPROG_OPT:
 			diffargv[0] = diffprog = optarg;
 			break;
@@ -1152,7 +1152,7 @@ usage(void)
 {
 
 	fprintf(stderr,
-	    "usage: sdiff [-abdilstW] [-I regexp] [-o outfile] [-w width] file1"
+	    "usage: sdiff [-abdilstHW] [-I regexp] [-o outfile] [-w width] file1"
 	    " file2\n");
 	exit(2);
 }


More information about the svn-src-all mailing list