Fixing Racket uint8-ref/set!
This commit is contained in:
parent
1e74458e85
commit
78d54f80aa
|
|
@ -551,13 +551,19 @@
|
||||||
|
|
||||||
(define (c-bytevector-sint-ref c-bytevector index endness size)
|
(define (c-bytevector-sint-ref c-bytevector index endness size)
|
||||||
(let* ((high-byte (c-bytevector-u8-ref c-bytevector
|
(let* ((high-byte (c-bytevector-u8-ref c-bytevector
|
||||||
(if (eq? endness 'big)
|
(if (eq? endness 'big)
|
||||||
index
|
index
|
||||||
(+ index size -1))))
|
(+ index size -1))))
|
||||||
(uresult (c-bytevector-uint-ref c-bytevector index endness size)))
|
(uresult (c-bytevector-uint-ref c-bytevector index endness size)))
|
||||||
|
(display "High byte: ")
|
||||||
|
(display high-byte)
|
||||||
|
(newline)
|
||||||
|
(display "Uresult: ")
|
||||||
|
(display uresult)
|
||||||
|
(newline)
|
||||||
(if (> high-byte 127)
|
(if (> high-byte 127)
|
||||||
(- uresult (expt 256 size))
|
(- uresult (expt 256 size))
|
||||||
uresult)))
|
uresult)))
|
||||||
|
|
||||||
; FIXME: Some of these procedures may not do enough range checking.
|
; FIXME: Some of these procedures may not do enough range checking.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue