pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/textproc/wdiff Fix segmentation fault on Linux. Patch...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/d09cdf82b735
branches:  trunk
changeset: 536809:d09cdf82b735
user:      minskim <minskim%pkgsrc.org@localhost>
date:      Sun Dec 23 04:50:30 2007 +0000

description:
Fix segmentation fault on Linux.  Patch borrowed from Debian.
Suggested by Aleksey Cheusov in PR 35537.

Bump PKGREVISION.

diffstat:

 textproc/wdiff/Makefile         |   4 ++--
 textproc/wdiff/distinfo         |   4 ++--
 textproc/wdiff/patches/patch-ae |  38 +++++++++++++++++++++++++++++---------
 3 files changed, 33 insertions(+), 13 deletions(-)

diffs (110 lines):

diff -r 472322acce89 -r d09cdf82b735 textproc/wdiff/Makefile
--- a/textproc/wdiff/Makefile   Sun Dec 23 04:38:54 2007 +0000
+++ b/textproc/wdiff/Makefile   Sun Dec 23 04:50:30 2007 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.15 2006/03/20 18:15:39 jlam Exp $
+# $NetBSD: Makefile,v 1.16 2007/12/23 04:50:30 minskim Exp $
 #
 
 DISTNAME=              wdiff-0.5
-PKGREVISION=           1
+PKGREVISION=           2
 CATEGORIES=            textproc
 MASTER_SITES=          ${MASTER_SITE_GNU:=wdiff/}
 
diff -r 472322acce89 -r d09cdf82b735 textproc/wdiff/distinfo
--- a/textproc/wdiff/distinfo   Sun Dec 23 04:38:54 2007 +0000
+++ b/textproc/wdiff/distinfo   Sun Dec 23 04:50:30 2007 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.5 2006/03/20 18:09:52 jlam Exp $
+$NetBSD: distinfo,v 1.6 2007/12/23 04:50:30 minskim Exp $
 
 SHA1 (wdiff-0.5.tar.gz) = 44e18850e16518633139cf24a83165e62e3baa95
 RMD160 (wdiff-0.5.tar.gz) = 7b313cfaca2ec3759048888bbdba0be1cd88a5e1
@@ -6,4 +6,4 @@
 SHA1 (patch-aa) = ae9ed3d3f993f5ee2ed22599b9ce5ac7b47be0ab
 SHA1 (patch-ab) = 9c969894e3a5ef8f9454c6577e230ca9d1e06a06
 SHA1 (patch-ac) = 97311dd14a9a47688463ba325aec7874f69887a9
-SHA1 (patch-ae) = 8889518350ee790575bf24b02ba5c01e6ee76f9e
+SHA1 (patch-ae) = 7d64a7a160aaf152ceae0191afb3697e504e1278
diff -r 472322acce89 -r d09cdf82b735 textproc/wdiff/patches/patch-ae
--- a/textproc/wdiff/patches/patch-ae   Sun Dec 23 04:38:54 2007 +0000
+++ b/textproc/wdiff/patches/patch-ae   Sun Dec 23 04:50:30 2007 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ae,v 1.1 2003/01/24 14:12:04 itohy Exp $
+$NetBSD: patch-ae,v 1.2 2007/12/23 04:50:30 minskim Exp $
 
---- wdiff.c.orig       Sun Nov  6 16:57:23 1994
-+++ wdiff.c    Fri Jan 24 22:41:01 2003
-@@ -168,6 +168,10 @@
+--- wdiff.c.orig       1994-11-05 23:57:23.000000000 -0800
++++ wdiff.c
+@@ -168,6 +168,10 @@ int interrupted;          /* set when some signa
  # define L_tmpnam PATH_MAX
  #endif
  
@@ -13,7 +13,7 @@
  typedef struct side SIDE;     /* all variables for one side */
  struct side
  {
-@@ -555,6 +559,9 @@
+@@ -555,6 +559,9 @@ static void
  split_file_into_words (SIDE *side)
  {
    struct stat stat_buffer;    /* for checking if file is directory */
@@ -23,7 +23,7 @@
  
    /* Open files.  */
  
-@@ -566,10 +573,23 @@
+@@ -566,10 +573,23 @@ split_file_into_words (SIDE *side)
         this temporary local file.  Once done, prepare it for reading.
         We do not need the file name itself anymore.  */
  
@@ -47,7 +47,7 @@
        if (unlink (side->temp_name) != 0)
        error (EXIT_OTHER_REASON, errno, side->temp_name);
        while (side->character = getchar (), side->character != EOF)
-@@ -593,10 +613,23 @@
+@@ -593,10 +613,23 @@ split_file_into_words (SIDE *side)
    side->character = getc (side->file);
    side->position = 0;
  
@@ -71,7 +71,7 @@
  
    /* Complete splitting input file into words on output.  */
  
-@@ -1135,7 +1168,7 @@
+@@ -1135,7 +1168,7 @@ Mandatory arguments to long options are 
  | Main program.        |
  `---------------*/
  
@@ -80,7 +80,27 @@
  main (int argc, char *const argv[])
  {
    int option_char;            /* option character */
-@@ -1329,5 +1362,5 @@
+@@ -1304,12 +1337,13 @@ main (int argc, char *const argv[])
+       reformat_diff_output ();
+       fclose (input_file);
+     }
+-
+-  /* Clean up.  Beware that input_file and output_file might not exist,
+-     if a signal occurred early in the program.  */
+-
+-  if (input_file)
+-    complete_input_program ();
++  else
++    {
++      /* Clean up.  Beware that input_file and output_file might not
++      exist, if a signal occurred early in the program.  */
++      if (input_file)
++      complete_input_program ();
++    }
+ 
+   if (*left_side->temp_name)
+     unlink (left_side->temp_name);
+@@ -1329,5 +1363,5 @@ main (int argc, char *const argv[])
        || count_changed_left || count_changed_right)
      exit (EXIT_ANY_DIFFERENCE);
  



Home | Main Index | Thread Index | Old Index