emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/websocket 65b3e1c 12/16: Port websocket to bleeding-edg


From: Stefan Monnier
Subject: [elpa] externals/websocket 65b3e1c 12/16: Port websocket to bleeding-edge 32-bit Emacs
Date: Fri, 27 Nov 2020 17:47:20 -0500 (EST)

branch: externals/websocket
commit 65b3e1c611849f86fae36bb2efc15b0ec63e594c
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    Port websocket to bleeding-edge 32-bit Emacs
    
    Problem reported by Stefan Monnier (Bug#31118).
    * packages/websocket/websocket.el (websocket-to-bytes):
    Do not assume that #xffffffff is a valid fixnum.
---
 websocket.el | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/websocket.el b/websocket.el
index 39a31c3..0533fb3 100644
--- a/websocket.el
+++ b/websocket.el
@@ -234,12 +234,9 @@ approximately 537M long."
            val nbytes))
   (if (= nbytes 8)
       (progn
-        (let ((hi-32bits (lsh val -32))
-              ;; Test for systems that don't have > 32 bits, and
-              ;; for those systems just return the value.
-              (low-32bits (if (= 0 (expt 2 32))
-                              val
-                            (logand #xffffffff val))))
+        (let* ((hi-32bits (lsh val -32))
+              ;; This is just VAL on systems that don't have >= 32 bits.
+              (low-32bits (- val (lsh hi-32bits 32))))
           (when (or (> hi-32bits 0) (> (lsh low-32bits -29) 0))
             (signal 'websocket-frame-too-large val))
           (bindat-pack `((:val vec 2 u32))



reply via email to

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