Don't forget to cast master
authorRobert Pengelly <robertapengelly@hotmail.com>
Wed, 1 Oct 2025 11:12:08 +0000 (12:12 +0100)
committerRobert Pengelly <robertapengelly@hotmail.com>
Wed, 1 Oct 2025 11:12:08 +0000 (12:12 +0100)
lib.c

diff --git a/lib.c b/lib.c
index d6897a7ca91eeb2c10b57b89a66937db138604c7..525a0b6d39a69918de98d9f2846d36d7a96eb4e9 100755 (executable)
--- a/lib.c
+++ b/lib.c
@@ -203,7 +203,7 @@ void parse_args (int argc, char **argv, int optind) {
 
 unsigned long array_to_integer (unsigned char *arr, int size, int bigendian) {
 
 
 unsigned long array_to_integer (unsigned char *arr, int size, int bigendian) {
 
-    unsigned long val = 0, mask = 1;
+    unsigned long val = 0;
     int i;
     
     if (bigendian) {
     int i;
     
     if (bigendian) {
@@ -211,24 +211,18 @@ unsigned long array_to_integer (unsigned char *arr, int size, int bigendian) {
         int j;
         
         for (i = size, j = 0; i > 0; i--, j++) {
         int j;
         
         for (i = size, j = 0; i > 0; i--, j++) {
-        
-            mask *= (UCHAR_MAX + 1);
-            val |= arr[j] << (CHAR_BIT * (i - 1));
-        
+            val |= (unsigned long) arr[j] << (CHAR_BIT * (i - 1));
         }
     
     } else {
     
         for (i = 0; i < size; i++) {
         }
     
     } else {
     
         for (i = 0; i < size; i++) {
-        
-            mask *= (UCHAR_MAX + 1);
-            val |= arr[i] << (CHAR_BIT * i);
-        
+            val |= (unsigned long) arr[i] << (CHAR_BIT * i);
         }
     
     }
     
         }
     
     }
     
-    return val & (mask - 1);
+    return val;
 
 }
 
 
 }