Author: bapt
Date: Fri Aug  5 19:14:55 2016
New Revision: 303783
URL: https://svnweb.freebsd.org/changeset/base/303783

Log:
  sdiff: remove non finish/function code
  
  2 extra options not available neither on other BSD nor in GNU sdiff:
  --diff-pid and --pipe-fd were present in the SoC code, none were usable
  
  Just remove it

Modified:
  head/usr.bin/sdiff/sdiff.c

Modified: head/usr.bin/sdiff/sdiff.c
==============================================================================
--- head/usr.bin/sdiff/sdiff.c  Fri Aug  5 19:00:45 2016        (r303782)
+++ head/usr.bin/sdiff/sdiff.c  Fri Aug  5 19:14:55 2016        (r303783)
@@ -104,9 +104,6 @@ enum {
        HLINES_OPT,
        LFILES_OPT,
        DIFFPROG_OPT,
-       PIPE_FD,
-       /* pid from the diff parent (if applicable) */
-       DIFF_PID,
 
        NOOP_OPT,
 };
@@ -120,8 +117,6 @@ static struct option longopts[] = {
        { "output",                     required_argument,      NULL,   'o' },
        { "diff-program",               required_argument,      NULL,   
DIFFPROG_OPT },
 
-       { "pipe-fd",                    required_argument,      NULL,   PIPE_FD 
},
-       { "diff-pid",                   required_argument,      NULL,   
DIFF_PID },
        /* Options processed by diff. */
        { "ignore-file-name-case",      no_argument,            NULL,   
FCASE_IGNORE_OPT },
        { "no-ignore-file-name-case",   no_argument,            NULL,   
FCASE_SENSITIVE_OPT },
@@ -236,7 +231,7 @@ main(int argc, char **argv)
        FILE *diffpipe=NULL, *file1, *file2;
        size_t diffargc = 0, wflag = WIDTH;
        int ch, fd[2] = {-1}, status;
-       pid_t pid=0; pid_t ppid =-1;
+       pid_t pid=0;
        const char *outfile = NULL;
        struct option *popt;
        char **diffargv, *diffprog = DIFF_PATH, *filename1, *filename2,
@@ -319,11 +314,6 @@ main(int argc, char **argv)
                        if (errstr)
                                errx(2, "width is %s: %s", errstr, optarg);
                        break;
-               case DIFF_PID:
-                       ppid = strtonum(optarg, 0, INT_MAX, &errstr);
-                       if (errstr)
-                               errx(2, "diff pid value is %s: %s", errstr, 
optarg);
-                       break;
                case HELP_OPT:
                        for (i = 0; help_msg[i] != NULL; i++)
                                printf("%s\n", help_msg[i]);
@@ -392,35 +382,34 @@ main(int argc, char **argv)
                errx(2, "width is too large: %zu", width);
        line_width = width * 2 + 3;
 
-       if (ppid == -1 ) {
-               if (pipe(fd))
-                       err(2, "pipe");
-
-               switch (pid = fork()) {
-               case 0:
-                       /* child */
-                       /* We don't read from the pipe. */
-                       close(fd[0]);
-                       if (dup2(fd[1], STDOUT_FILENO) == -1)
-                               err(2, "child could not duplicate descriptor");
-                       /* Free unused descriptor. */
-                       close(fd[1]);
-                       execvp(diffprog, diffargv);
-                       err(2, "could not execute diff: %s", diffprog);
-                       break;
-               case -1:
-                       err(2, "could not fork");
-                       break;
-               }
+       if (pipe(fd))
+               err(2, "pipe");
 
-               /* parent */
-               /* We don't write to the pipe. */
+       switch (pid = fork()) {
+       case 0:
+               /* child */
+               /* We don't read from the pipe. */
+               close(fd[0]);
+               if (dup2(fd[1], STDOUT_FILENO) == -1)
+                       err(2, "child could not duplicate descriptor");
+               /* Free unused descriptor. */
                close(fd[1]);
-
-               /* Open pipe to diff command. */
-               if ((diffpipe = fdopen(fd[0], "r")) == NULL)
-                       err(2, "could not open diff pipe");
+               execvp(diffprog, diffargv);
+               err(2, "could not execute diff: %s", diffprog);
+               break;
+       case -1:
+               err(2, "could not fork");
+               break;
        }
+
+       /* parent */
+       /* We don't write to the pipe. */
+       close(fd[1]);
+
+       /* Open pipe to diff command. */
+       if ((diffpipe = fdopen(fd[0], "r")) == NULL)
+               err(2, "could not open diff pipe");
+
        if ((file1 = fopen(filename1, "r")) == NULL)
                err(2, "could not open %s", filename1);
        if ((file2 = fopen(filename2, "r")) == NULL)
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to