File 4c6fc2e58c830080f6f9112935325ad281b784ff.patch of Package shntool

From 4c6fc2e58c830080f6f9112935325ad281b784ff Mon Sep 17 00:00:00 2001
From: "sokoloff (Alexander)" <sokoloff.a@gmail.com>
Date: Wed, 18 Jun 2014 00:09:24 +0400
Subject: [PATCH] Fix for "shntool fails to determine correct size/length of
 very large files - possibly 64-bit related."

---
 src/core_fileio.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/core_fileio.c b/src/core_fileio.c
index 5c7581c..9b3d6db 100644
--- a/src/core_fileio.c
+++ b/src/core_fileio.c
@@ -110,10 +110,10 @@ bool read_value_long(FILE *file,unsigned long *be_val,unsigned long *le_val,unsi
   buf[4] = 0;
 
   if (be_val)
-    *be_val = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3];
+    *be_val = ((buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]) & 0xFFFFFFFF;
 
   if (le_val)
-    *le_val = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+    *le_val = ((buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0]) & 0xFFFFFFFF;
 
   if (tag_val)
     tagcpy(tag_val,buf);
openSUSE Build Service is sponsored by