Hello Tino,

Tino Lange wrote:
plzip.cc:601: warning: comparison is always false due to limited range of data 
type

Thanks for reporting this. As John Reiser has already noticed, these are true bugs. As a quick fix, please, try the attached patch.


Best regards,
Antonio.
diff -urdN ../old_src/main.cc ./main.cc
--- ../old_src/main.cc	2009-12-05 22:39:14.000000000 +0100
+++ ./main.cc	2009-12-08 19:48:32.000000000 +0100
@@ -1098,8 +1098,8 @@
   if (UINT_MAX / blf < (unsigned)max_worker) {
     max_worker = UINT_MAX / blf;
   }
-  if ((size_t)-1 / sizeof(pthread_t) < (unsigned)max_worker) {
-    max_worker = (size_t)-1 / sizeof(pthread_t);
+  if (UINT_MAX / sizeof(pthread_t) < (unsigned)max_worker) {
+    max_worker = UINT_MAX / sizeof(pthread_t);
   }
 
   opts.num_worker = 0u;
diff -urdN ../old_src/plzip.cc ./plzip.cc
--- ../old_src/plzip.cc	2009-12-05 22:18:42.000000000 +0100
+++ ./plzip.cc	2009-12-08 20:22:56.000000000 +0100
@@ -580,13 +580,13 @@
     unsigned tmp; \
 \
     tmp = arsz_unsigned; \
-    if ((size_t)-1 < tmp) { \
+    if (UINT_MAX < tmp) { \
       show_error( "size_t overflow in sizeof_" #arr "." ); \
       fatal(); \
     } \
     arg ## _arg . sizeof_ ## arr = tmp; \
 \
-    if ((size_t)-1 - sizeof(struc) \
+    if (UINT_MAX - sizeof(struc) \
         < arg ## _arg . sizeof_ ## arr - (size_t)1) { \
       show_error( "size_t overflow in sizeof_" #struc "." ); \
       fatal(); \
@@ -611,7 +611,7 @@
 #undef SIZES
 
   assert(0u < num_worker);
-  assert((size_t)-1 / sizeof *worker >= num_worker);
+  assert(UINT_MAX / sizeof *worker >= num_worker);
   worker = (pthread_t *)xalloc(num_worker * sizeof *worker);
   for (i = 0u; i < num_worker; ++i) {
     xcreate(&worker[i], work_wrap, &work_arg);
_______________________________________________
Lzip-bug mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lzip-bug

Reply via email to