qemacs-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemacs-commit] qemacs qe.c


From: Charlie Gordon
Subject: [Qemacs-commit] qemacs qe.c
Date: Wed, 19 Apr 2017 04:20:20 -0400 (EDT)

CVSROOT:        /sources/qemacs
Module name:    qemacs
Changes by:     Charlie Gordon <chqrlie>        17/04/19 04:20:20

Modified files:
        .              : qe.c 

Log message:
        display: improve crc because of trivial collisions

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.273&r2=1.274

Patches:
Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.273
retrieving revision 1.274
diff -u -b -r1.273 -r1.274
--- qe.c        18 Apr 2017 14:26:39 -0000      1.273
+++ qe.c        19 Apr 2017 08:20:20 -0000      1.274
@@ -3109,22 +3109,28 @@
      */
     /* XXX: We still have a bug when transposing two 31 byte words as in
      * B123456789012345678901234567890 A123456789012345678901234567890
+     * Here is another trivial collision:
+                    s->esc_params[s->nb_esc_params] = 0;
+                    s->has_params[s->nb_esc_params] = 1;
      */
     while (((uintptr_t)data & 3) && size > 0) {
         //sum += ((sum >> 31) & 1) + sum + *data;
-        sum += sum + *data + (sum >> 32);
+        //sum += sum + *data + (sum >> 32);
+        sum = (sum << 3) + *data + (sum >> 32);
         data++;
         size--;
     }
     while (size >= 4) {
         //sum += ((sum >> 31) & 1) + sum + *(const uint32_t *)(const void 
*)data;
-        sum += sum + *(const uint32_t *)(const void *)data + (sum >> 32);
+        //sum += sum + *(const uint32_t *)(const void *)data + (sum >> 32);
+        sum = (sum << 3) + *(const uint32_t *)(const void *)data + (sum >> 32);
         data += 4;
         size -= 4;
     }
     while (size > 0) {
         //sum += ((sum >> 31) & 1) + sum + *data;
-        sum += sum + *data + (sum >> 32);
+        //sum += sum + *data + (sum >> 32);
+        sum = (sum << 2) + *data + (sum >> 32);
         data++;
         size--;
     }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]