rpms/dvdisaster/FC-5 dvdisaster-0.70.2a.patch, NONE, 1.1 dvdisaster-0.70.2b.patch, NONE, 1.1 dvdisaster.spec, 1.11, 1.12

Dmitry Butskoy (buc) fedora-extras-commits at redhat.com
Mon Sep 11 12:02:14 UTC 2006


Author: buc

Update of /cvs/extras/rpms/dvdisaster/FC-5
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv13268

Modified Files:
	dvdisaster.spec 
Added Files:
	dvdisaster-0.70.2a.patch dvdisaster-0.70.2b.patch 
Log Message:


dvdisaster-0.70.2a.patch:

--- NEW FILE dvdisaster-0.70.2a.patch ---
diff -Naur dvdisaster-0.70/CHANGELOG dvdisaster-0.70.2/CHANGELOG
--- dvdisaster-0.70/CHANGELOG	2006-07-30 13:55:57.000000000 +0200
+++ dvdisaster-0.70.2/CHANGELOG	2006-09-08 21:50:10.000000000 +0200
@@ -1,4 +1,8 @@
 
+0.70 (pl2)
+	- fixed crash by inappropriate g_free() on Pango layout (thanks to Dmitry
+	  for pointing this out)
+
 0.70 (pl-1) 30-07-2006
 	- fixed a bug in read-adaptive for RS02 which would sometimes prevent it 
 	  from properly restarting a previously interrupted reading session.
diff -Naur dvdisaster-0.70/closure.c dvdisaster-0.70.2/closure.c
--- dvdisaster-0.70/closure.c	2006-07-30 12:05:22.000000000 +0200
+++ dvdisaster-0.70.2/closure.c	2006-09-03 13:44:23.000000000 +0200
@@ -590,6 +590,7 @@
 
    cond_free(Closure->methodName);
    cond_free(Closure->dotFile);
+   cond_free(Closure->logFile);
    cond_free(Closure->binDir);
    cond_free(Closure->docDir);
    cond_free(Closure->browser);
diff -Naur dvdisaster-0.70/configure dvdisaster-0.70.2/configure
--- dvdisaster-0.70/configure	2006-07-09 20:05:33.000000000 +0200
+++ dvdisaster-0.70.2/configure	2006-07-30 20:07:06.000000000 +0200
@@ -21,7 +21,7 @@
 
 PACKAGE dvdisaster 0.70
 
-DEFINE_STRING RELEASE_MICRO "1"
+DEFINE_STRING RELEASE_MICRO "2"
 DEFINE_STRING RELEASE_STATUS "patch"
 #DEFINE_STRING RELEASE_STATUS "devel"
 #DEFINE_STRING RELEASE_STATUS "rc"
diff -Naur dvdisaster-0.70/curve.c dvdisaster-0.70.2/curve.c
--- dvdisaster-0.70/curve.c	2006-06-15 18:16:50.000000000 +0200
+++ dvdisaster-0.70.2/curve.c	2006-09-08 21:39:38.000000000 +0200
@@ -33,7 +33,7 @@
 {  Curve *curve = g_malloc0(sizeof(Curve));
 
    curve->widget     = widget;
-   curve->layout     = gtk_widget_create_pango_layout(widget, NULL); REMEMBER(curve->layout);
+   curve->layout     = gtk_widget_create_pango_layout(widget, NULL);
    curve->leftLabel  = g_strdup(left_label); 
    curve->leftFormat = g_strdup(left_format);
    curve->bottomFormat = bottom_format;   
@@ -57,7 +57,7 @@
 
 void FreeCurve(Curve *curve)
 {
-   g_free(curve->layout);
+   g_object_unref(curve->layout);
    g_free(curve->leftLabel);
    g_free(curve->leftFormat);
    g_free(curve->fvalue);
diff -Naur dvdisaster-0.70/ecc-rs01.c dvdisaster-0.70.2/ecc-rs01.c
--- dvdisaster-0.70/ecc-rs01.c	2006-04-17 20:47:00.000000000 +0200
+++ dvdisaster-0.70.2/ecc-rs01.c	2006-09-08 21:45:03.000000000 +0200
@@ -72,14 +72,14 @@
 
    if(wl)
    {  if(wl->fixCurve) FreeCurve(wl->fixCurve);
-      g_free(method->widgetList);
+      if(method->widgetList)
+       g_free(method->widgetList);
 
       if(wl->cmpSpiral)
 	FreeSpiral(wl->cmpSpiral);
 
       if(wl->cmpLayout)
-	g_free(wl->cmpLayout);
-
+	g_object_unref(wl->cmpLayout);
    }
 }
 
diff -Naur dvdisaster-0.70/ecc-rs02.c dvdisaster-0.70.2/ecc-rs02.c
--- dvdisaster-0.70/ecc-rs02.c	2006-04-17 23:48:00.000000000 +0200
+++ dvdisaster-0.70.2/ecc-rs02.c	2006-09-08 21:46:08.000000000 +0200
@@ -24,14 +24,6 @@
 #include "rs02-includes.h"
 
 /***
- *** The RS02 codec is work in progress.
- ***
- * Do not use for production work; 
- * do not assume created .ecc data and images to be compatible with
- * the final release!
- */
-
-/***
  *** Method registration
  ***/
 
@@ -78,8 +70,16 @@
 {  RS02Widgets *wl = (RS02Widgets*)method->widgetList;
 
    if(wl)
-   {  
-      g_free(method->widgetList);
+   {  if(wl->fixCurve) FreeCurve(wl->fixCurve);
+      if(method->widgetList)
+       g_free(method->widgetList);
+
+      if(wl->cmpSpiral)
+	FreeSpiral(wl->cmpSpiral);
+
+      if(wl->cmpLayout)
+	g_object_unref(wl->cmpLayout);
+
    }
 }
 
diff -Naur dvdisaster-0.70/fingerprints.md5 dvdisaster-0.70.2/fingerprints.md5
--- dvdisaster-0.70/fingerprints.md5	2006-07-30 15:28:31.000000000 +0200
+++ dvdisaster-0.70.2/fingerprints.md5	2006-09-08 21:51:00.000000000 +0200
@@ -6,13 +6,13 @@
 48a04499df58f9aad0923e8c5409513b *scsi-layer.h
 f4be9160aae464f3469b2f3815be3670 *udf.h
 daa7ec033afb7fcfa5e4591cdda6ffac *bitmap.c
-0c5f0a45dfee559be1b553e5dab042f0 *closure.c
+4d3291f5009fc27cb9f08a2101db901f *closure.c
 e0c423fffb94956009695231decaa295 *crc32.c
-c8264cf87e441cd33b55611988a58548 *curve.c
+f6bfabe0fea5d9cc05500692056d9a77 *curve.c
 bb2e84a8b150cd40a8ee58215c341eb9 *debug.c
 889d05ae305a7412c7a816e12af8ef2b *dvdisaster.c
-61bd5e47034125cb7062e15eeb68c62c *ecc-rs01.c
-717006a7b52a55416d526ca5734cdf61 *ecc-rs02.c
+445852905059a696fc89b86015eefc72 *ecc-rs01.c
+e3556e136b8303501536314332fb0df2 *ecc-rs02.c
 255f47cdc89a7edb4c091a5e92379550 *endian.c
 547b08e6c859b478d36ee85db8c234bc *file.c
 b1a8a70dd7cff1fe05c263e8a2c7b2ed *galois.c
@@ -36,12 +36,12 @@
 1edd34d022eaea0ceb3b438754cf0d67 *rs01-common.c
 9fe8a9262fe22a60ebe505c5a3fc39f1 *rs01-create.c
 b69dfaef06f296edc503b53d8461dac4 *rs01-fix.c
-b1465b955acea866d333ef214902e714 *rs01-verify.c
+888ed1599f9d6aca99e00e631539e08a *rs01-verify.c
 f2a5659cf67864e7395949acacbb5858 *rs01-window.c
 5b73969c64f95c3decc26e941743a943 *rs02-common.c
 7493ec6424c5315b73625d55eb4fc882 *rs02-create.c
 04e1f02fbf762aeef2f984617be686ad *rs02-fix.c
-40c6efacc4c0d2b716af6d884ab1549b *rs02-verify.c
+f747d0e89474d40f3833da319fcdc88b *rs02-verify.c
 6a12091704c2ded29f3f7ef64c6e1dab *rs02-window.c
 cc85e2cdb2d8a2b9cd9544c38bc459ed *scsi-darwin.c
 b826f04c5a5f28c912f1a9eec100a670 *scsi-freebsd.c
diff -Naur dvdisaster-0.70/rs01-verify.c dvdisaster-0.70.2/rs01-verify.c
--- dvdisaster-0.70/rs01-verify.c	2006-06-18 13:16:06.000000000 +0200
+++ dvdisaster-0.70.2/rs01-verify.c	2006-09-08 21:41:28.000000000 +0200
@@ -139,7 +139,7 @@
 
    if(!wl->cmpLayout)
    {  SetSpiralWidget(wl->cmpSpiral, widget);
-      wl->cmpLayout = gtk_widget_create_pango_layout(widget, NULL); REMEMBER(wl->cmpLayout);
+      wl->cmpLayout = gtk_widget_create_pango_layout(widget, NULL);
    }
 
    SetText(wl->cmpLayout, _("Missing sectors"), &w, &h);
diff -Naur dvdisaster-0.70/rs02-verify.c dvdisaster-0.70.2/rs02-verify.c
--- dvdisaster-0.70/rs02-verify.c	2006-07-29 21:00:33.000000000 +0200
+++ dvdisaster-0.70.2/rs02-verify.c	2006-09-08 21:46:24.000000000 +0200
@@ -136,7 +136,7 @@
 
    if(!wl->cmpLayout)
    {  SetSpiralWidget(wl->cmpSpiral, widget);
-      wl->cmpLayout = gtk_widget_create_pango_layout(widget, NULL); REMEMBER(wl->cmpLayout);
+      wl->cmpLayout = gtk_widget_create_pango_layout(widget, NULL);
    }
 
    SetText(wl->cmpLayout, _("Missing sectors"), &w, &h);

dvdisaster-0.70.2b.patch:

--- NEW FILE dvdisaster-0.70.2b.patch ---
diff -Naur dvdisaster-0.70/CHANGELOG dvdisaster-0.70.2/CHANGELOG
--- dvdisaster-0.70/CHANGELOG	2006-09-09 14:22:34.590160232 +0200
+++ dvdisaster-0.70.2/CHANGELOG	2006-09-09 13:21:25.000000000 +0200
@@ -2,6 +2,8 @@
 0.70 (pl2)
 	- fixed crash by inappropriate g_free() on Pango layout (thanks to Dmitry
 	  for pointing this out)
+	- fixed pngpack decoding failure on big endian machines (thanks again to
+	  Dmitry)
 
 0.70 (pl-1) 30-07-2006
 	- fixed a bug in read-adaptive for RS02 which would sometimes prevent it 
diff -Naur dvdisaster-0.70/tools/configure dvdisaster-0.70.2/tools/configure
--- dvdisaster-0.70/tools/configure	2006-04-18 22:50:00.000000000 +0200
+++ dvdisaster-0.70.2/tools/configure	2006-09-09 13:17:50.000000000 +0200
@@ -19,7 +19,7 @@
 
 # Set the package name and version
 
-PACKAGE pngpack 0.10
+PACKAGE pngpack 0.11
 
 # Check for some essential tools.
 
@@ -43,6 +43,11 @@
 REQUIRE_INCLUDE png.h png
 REQUIRE_LIBRARY png png_sig_cmp png
 
+# Byte order
+
+echo
+CHECK_ENDIAN
+
 # Do not proceed further if in --help mode
 
 if test -n "$cfg_help_mode"; then
diff -Naur dvdisaster-0.70/tools/pngpack.c dvdisaster-0.70.2/tools/pngpack.c
--- dvdisaster-0.70/tools/pngpack.c	2006-05-21 18:58:45.000000000 +0200
+++ dvdisaster-0.70.2/tools/pngpack.c	2006-09-09 14:15:28.131991728 +0200
@@ -55,6 +55,14 @@
   #include "exdll.h"
 #endif
 
+guint32 SwapBytes32(guint32 in)
+{
+  return
+        ((in & 0xff000000) >> 24) 
+      | ((in & 0x00ff0000) >>  8) 
+      | ((in & 0x0000ff00) <<  8) 
+      | ((in & 0x000000ff) << 24);
+}
 
 /*
  * Tell user that current action was aborted due to a serious error.
@@ -65,12 +73,12 @@
 
    /*** Show message depending on commandline / GUI mode  */ 
 
-   fprintf(stderr, "*\n* pngpack - can not continue:\n*\n");
+   fprintf(stdout, "*\n* pngpack - can not continue:\n*\n");
    va_start(argp, format);
-   vfprintf(stderr, format, argp);
+   vfprintf(stdout, format, argp);
    va_end(argp);
-   fprintf(stderr, "\n\n");
-   fflush(stderr);
+   fprintf(stdout, "\n\n");
+   fflush(stdout);
 
    exit(EXIT_FAILURE);
 }
@@ -125,8 +133,8 @@
    /* stat ppm file */
 
    if(stat(name, &mystat) == -1)
-   {  fprintf(stderr, "COULD NOT STAT %s!\n", name);
-      fflush(stderr);
+   {  fprintf(stdout, "COULD NOT STAT %s!\n", name);
+      fflush(stdout);
       return NULL;
    }
 
@@ -139,8 +147,8 @@
 
    pi->file = fopen(name, "rb");
    if(!pi->file)
-   {  fprintf(stderr, "COULD NOT OPEN %s!\n", name);
-      fflush(stderr);
+   {  fprintf(stdout, "COULD NOT OPEN %s!\n", name);
+      fflush(stdout);
       return NULL;
    }
 
@@ -149,8 +157,8 @@
    fread(buf, 1, 8, pi->file);
    if(png_sig_cmp(buf, 0, 8))
    {  fclose(pi->file);
-      fprintf(stderr, "%s is not a .png file!\n", name);
-      fflush(stderr);
+      fprintf(stdout, "%s is not a .png file!\n", name);
+      fflush(stdout);
       return NULL;
    }
 
@@ -164,8 +172,8 @@
 
    if(setjmp(png_jmpbuf(pi->png_read)))
    {  free_image(pi);
-      fprintf(stderr, "error decoding .png file!\n");
-      fflush(stderr);
+      fprintf(stdout, "error decoding .png file!\n");
+      fflush(stdout);
       return NULL;
    }
 
@@ -185,8 +193,8 @@
 
    if(depth != 8)
    {  free_image(pi);
-      fprintf(stderr, ", ILLEGAL DEPTH: %d\n",depth);
-      fflush(stderr);
+      fprintf(stdout, ", ILLEGAL DEPTH: %d\n",depth);
+      fflush(stdout);
       return NULL;
    }
 
@@ -256,8 +264,8 @@
    if(setjmp(png_jmpbuf(pi->png_write)))
    {  png_destroy_write_struct(&pi->png_write, &pi->png_info);
       fclose(pi->file);
-      fprintf(stderr, "error creating .png file!\n");
-      fflush(stderr);
+      fprintf(stdout, "error creating .png file!\n");
+      fflush(stdout);
       return;
    }
 
@@ -317,21 +325,11 @@
    if(!file)
      Stop("Could not open %s: %s\n",name,strerror(errno));
 
-#if 0
    fprintf(file, "P6\n"
 	         "# CREATOR: pngpack-%s\n"
 	         "%d %d\n"
 	         "255\n",
 	         VERSION, pi->width, pi->height);
-#endif
-
-#if 1
-   fprintf(file, "P6\n"
-                 "# CREATOR: XV Version 3.10a  Rev: 12/29/94 (PNG patch 1.2)\n"
-	         "%d %d\n"
-	         "255\n",
-	         pi->width, pi->height);
-#endif
 	   
    while(size--)
    {  putc((*pixel>>16)&0xff, file);
@@ -932,6 +930,7 @@
 {  struct MD5Context md5ctxt;
    unsigned char checksum[16]; 
    unsigned int oidx,i,*p;
+   unsigned int background;
    int x=0, y=0;
 
    /* Clear the image */ 
@@ -939,8 +938,15 @@
    i = pi->width * pi->height; 
    p = pi->image;
 
+#ifdef HAVE_LITTLE_ENDIAN
+   background = pi->tile_background;
+   while(i--)
+     *p++ = background;
+#else
+   background = SwapBytes32(pi->tile_background);
    while(i--)
-     *p++ = pi->tile_background;
+     *p++ = background;
+#endif
 
    /* Render it */
 
@@ -958,7 +964,11 @@
       for(i=0; i<t->width; i++) 
 	for(j=0; j<t->height; j++)
 	  if(t->image[i][j] != t->background)
+#ifdef HAVE_LITTLE_ENDIAN
 	    PIXEL(pi, i+x, j+y) = t->image[i][j]; 
+#else
+            PIXEL(pi, i+x, j+y) = SwapBytes32(t->image[i][j]); 
+#endif
    }  
 
    /* verify md5sum */
@@ -969,7 +979,7 @@
 
    if(!memcmp(pi->checksum, checksum, 16))
          fprintf(stdout, "\n");
-   else  fprintf(stderr, " - DECODING FAILURE (checksum error).\n");
+   else  fprintf(stdout, " - DECODING FAILURE (checksum error).\n");
 }
 
 /***


Index: dvdisaster.spec
===================================================================
RCS file: /cvs/extras/rpms/dvdisaster/FC-5/dvdisaster.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- dvdisaster.spec	1 Sep 2006 13:50:21 -0000	1.11
+++ dvdisaster.spec	11 Sep 2006 12:02:14 -0000	1.12
@@ -6,6 +6,8 @@
 License: GPL 
 URL: http://www.dvdisaster.com
 Source0: http://download.berlios.de/dvdisaster/dvdisaster-%{version}.tar.bz2
+Patch0: dvdisaster-0.70.2a.patch
+Patch1: dvdisaster-0.70.2b.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -41,6 +43,8 @@
 
 %prep
 %setup -q -n %{name}-0.70
+%patch0 -p1
+%patch1 -p1
 
 
 %build
@@ -107,8 +111,9 @@
 
 
 %changelog
-* Fri Sep  1 2006 Dmitry Butskoy <Dmitry at Butskoy.name> - 0.70.1-1
+* Fri Sep 11 2006 Dmitry Butskoy <Dmitry at Butskoy.name> - 0.70.1-1
 - update to 0.70.1
+- add two upstream's pre-0.70.2 patches.
 
 * Mon Jul 24 2006 Dmitry Butskoy <Dmitry at Butskoy.name> - 0.70-1
 - upgrade to 0.70




More information about the scm-commits mailing list