[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 42e566c: Port websocket to bleeding-edge 32-bit Emacs
From: |
Paul Eggert |
Subject: |
[elpa] master 42e566c: Port websocket to bleeding-edge 32-bit Emacs |
Date: |
Tue, 10 Apr 2018 18:35:19 -0400 (EDT) |
branch: master
commit 42e566c946db8fc8b170a13c3bdff60cbf2807b0
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
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.
---
packages/websocket/websocket.el | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/packages/websocket/websocket.el b/packages/websocket/websocket.el
index 39a31c3..0533fb3 100644
--- a/packages/websocket/websocket.el
+++ b/packages/websocket/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))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 42e566c: Port websocket to bleeding-edge 32-bit Emacs,
Paul Eggert <=