File xdelta-1.1.4.patch of Package xdelta

--- libedsio/edsio.c
+++ libedsio/edsio.c
@@ -296,7 +296,7 @@
   struct timeval tv;
   time_t t = time (NULL);
 
-  if (t < 0)
+  if (t == ((time_t)-1))
     {
       edsio_generate_errno_event (EC_EdsioTimeFailure);
       goto bail;
--- xdelta.m4
+++ xdelta.m4
@@ -4,7 +4,7 @@
 dnl AM_PATH_XDELTA([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
 dnl Test for XDELTA, and define XDELTA_CFLAGS and XDELTA_LIBS, if "gmodule" or
 dnl
-AC_DEFUN(AM_PATH_XDELTA,
+AC_DEFUN([AM_PATH_XDELTA],
 [dnl
 dnl Get the cflags and libraries from the xdelta-config script
 dnl
--- xdmain.c
+++ xdmain.c
@@ -1063,7 +1063,7 @@
 
   if (! (fh->in_read) (fh, buf, nbyte)) /* This is suspicious */
     {
-      xd_error ("read failed: %s\n", g_strerror (errno));
+      xd_error ("read failed: %s\n", errno?g_strerror (errno):"Unexpected end of file");
       return -1;
     }
 
@@ -1225,7 +1225,7 @@
 xd_handle_map_page (XdFileHandle *fh, guint pgno, const guint8** mem)
 {
   LRU* lru;
-  guint to_map;
+  gint to_map;
 
 #ifdef DEBUG_MAP
   g_print ("map %p:%d\n", fh, pgno);
@@ -1299,7 +1299,7 @@
 	      return -1;
 	    }
 #else
-	  if (! (lru->buffer = mmap (NULL, to_map, PROT_READ, MAP_PRIVATE, fh->fd, pgno * XD_PAGE_SIZE)))
+	  if ( (lru->buffer = mmap (NULL, to_map, PROT_READ, MAP_PRIVATE, fh->fd, pgno * XD_PAGE_SIZE)) == MAP_FAILED )
 	    {
 	      xd_error ("mmap failed: %s\n", g_strerror (errno));
 	      return -1;
@@ -1504,7 +1504,7 @@
   XdeltaSource* src;
   XdeltaControl* cont;
   gboolean from_is_compressed = FALSE, to_is_compressed = FALSE;
-  guint32 control_offset, header_offset;
+  gint32 control_offset, header_offset;
   const char* from_name, *to_name;
   guint32 header_space[HEADER_WORDS];
   int fd;
openSUSE Build Service is sponsored by