bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug#212954: sdiff '-E' option doesn't work. (fwd)


From: Santiago Vila
Subject: Bug#212954: sdiff '-E' option doesn't work. (fwd)
Date: Mon, 29 Sep 2003 14:42:46 +0200 (CEST)

Hello.

I received the following report from the debian bug system.

---------- Forwarded message ----------
From: A Costa <address@hidden>
To: Debian Bug Tracking System <address@hidden>
Date: Sat, 27 Sep 2003 02:14:16 -0400
Subject: sdiff '-E' option doesn't work.

Package: diff
Version: 2.8.1-2
Severity: normal


Of the '-E' option, the 'sdiff' man page says:

       -E  --ignore-tab-expansion
              Ignore changes due to tab expansion.

(The same text is output by 'sdiff --help'.)

But it doesn't work:

        %sdiff -E rfr rfr2
        sdiff: invalid option -- E
        sdiff: Try `sdiff --help' for more information.
        %echo $?
        2

However, the same option's long name does work:

        %sdiff --ignore-tab-expansion rfr rfr2
        .... [ output deleted ] ....
        %echo $?
        1               # (the files are different...)

(So the subroutine is probably OK; which suggests a bad line of
 'select ... case' option parsing code.)


Hope this helps...

---------- End Forwarded message ------

I've looked at the code, and this patch seems to fix it:

diff -ru diffutils-2.8.1.orig/src/sdiff.c diffutils-2.8.1/src/sdiff.c
--- diffutils-2.8.1.orig/src/sdiff.c    Mon Mar 11 09:00:47 2002
+++ diffutils-2.8.1/src/sdiff.c Mon Sep 29 14:38:15 2003
@@ -464,7 +464,7 @@
   diffarg (DEFAULT_DIFF_PROGRAM);

   /* parse command line args */
-  while ((opt = getopt_long (argc, argv, "abBdHiI:lo:stvw:W", longopts, 0))
+  while ((opt = getopt_long (argc, argv, "abBdEHiI:lo:stvw:W", longopts, 0))
         != -1)
     {
       switch (opt)

Thanks.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]