mirror of
https://github.com/janet-lang/janet
synced 2024-12-24 15:30:27 +00:00
Fix buffer push uint max
This commit is contained in:
parent
e2a8951f68
commit
16a3c85baa
@ -375,7 +375,7 @@ JANET_CORE_FN(cfun_buffer_push_uint16,
|
|||||||
uint16_t data;
|
uint16_t data;
|
||||||
uint8_t bytes[2];
|
uint8_t bytes[2];
|
||||||
} u;
|
} u;
|
||||||
u.data = (uint16_t) janet_getinteger(argv, 2);
|
u.data = (uint16_t) janet_getuinteger(argv, 2);
|
||||||
if (reverse) {
|
if (reverse) {
|
||||||
uint8_t temp = u.bytes[1];
|
uint8_t temp = u.bytes[1];
|
||||||
u.bytes[1] = u.bytes[0];
|
u.bytes[1] = u.bytes[0];
|
||||||
@ -396,7 +396,7 @@ JANET_CORE_FN(cfun_buffer_push_uint32,
|
|||||||
uint32_t data;
|
uint32_t data;
|
||||||
uint8_t bytes[4];
|
uint8_t bytes[4];
|
||||||
} u;
|
} u;
|
||||||
u.data = (uint32_t) janet_getinteger(argv, 2);
|
u.data = janet_getuinteger(argv, 2);
|
||||||
if (reverse)
|
if (reverse)
|
||||||
reverse_u32(u.bytes);
|
reverse_u32(u.bytes);
|
||||||
janet_buffer_push_u32(buffer, *(uint32_t *) u.bytes);
|
janet_buffer_push_u32(buffer, *(uint32_t *) u.bytes);
|
||||||
@ -414,7 +414,7 @@ JANET_CORE_FN(cfun_buffer_push_uint64,
|
|||||||
uint64_t data;
|
uint64_t data;
|
||||||
uint8_t bytes[8];
|
uint8_t bytes[8];
|
||||||
} u;
|
} u;
|
||||||
u.data = (uint64_t) janet_getuinteger64(argv, 2);
|
u.data = janet_getuinteger64(argv, 2);
|
||||||
if (reverse)
|
if (reverse)
|
||||||
reverse_u64(u.bytes);
|
reverse_u64(u.bytes);
|
||||||
janet_buffer_push_u64(buffer, *(uint64_t *) u.bytes);
|
janet_buffer_push_u64(buffer, *(uint64_t *) u.bytes);
|
||||||
|
@ -303,9 +303,9 @@ int32_t janet_getinteger(const Janet *argv, int32_t n) {
|
|||||||
uint32_t janet_getuinteger(const Janet *argv, int32_t n) {
|
uint32_t janet_getuinteger(const Janet *argv, int32_t n) {
|
||||||
Janet x = argv[n];
|
Janet x = argv[n];
|
||||||
if (!janet_checkuint(x)) {
|
if (!janet_checkuint(x)) {
|
||||||
janet_panicf("bad slot #%d, expected 32 bit signed integer, got %v", n, x);
|
janet_panicf("bad slot #%d, expected 32 bit unsigned integer, got %v", n, x);
|
||||||
}
|
}
|
||||||
return janet_unwrap_integer(x);
|
return (uint32_t) janet_unwrap_number(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t janet_getinteger64(const Janet *argv, int32_t n) {
|
int64_t janet_getinteger64(const Janet *argv, int32_t n) {
|
||||||
|
@ -2021,6 +2021,7 @@ JANET_API void *janet_getpointer(const Janet *argv, int32_t n);
|
|||||||
JANET_API int32_t janet_getnat(const Janet *argv, int32_t n);
|
JANET_API int32_t janet_getnat(const Janet *argv, int32_t n);
|
||||||
JANET_API int32_t janet_getinteger(const Janet *argv, int32_t n);
|
JANET_API int32_t janet_getinteger(const Janet *argv, int32_t n);
|
||||||
JANET_API int64_t janet_getinteger64(const Janet *argv, int32_t n);
|
JANET_API int64_t janet_getinteger64(const Janet *argv, int32_t n);
|
||||||
|
JANET_API uint32_t janet_getuinteger(const Janet *argv, int32_t n);
|
||||||
JANET_API uint64_t janet_getuinteger64(const Janet *argv, int32_t n);
|
JANET_API uint64_t janet_getuinteger64(const Janet *argv, int32_t n);
|
||||||
JANET_API size_t janet_getsize(const Janet *argv, int32_t n);
|
JANET_API size_t janet_getsize(const Janet *argv, int32_t n);
|
||||||
JANET_API JanetView janet_getindexed(const Janet *argv, int32_t n);
|
JANET_API JanetView janet_getindexed(const Janet *argv, int32_t n);
|
||||||
|
@ -85,9 +85,9 @@
|
|||||||
(buffer/push-uint16 buffer-uint16-le :le 0x0102)
|
(buffer/push-uint16 buffer-uint16-le :le 0x0102)
|
||||||
(assert (= "\x02\x01" (string buffer-uint16-le)) "buffer/push-uint16 little endian")
|
(assert (= "\x02\x01" (string buffer-uint16-le)) "buffer/push-uint16 little endian")
|
||||||
|
|
||||||
(def buffer-uint16-negative @"")
|
(def buffer-uint16-max @"")
|
||||||
(buffer/push-uint16 buffer-uint16-negative :be -1)
|
(buffer/push-uint16 buffer-uint16-max :be 0xFFFF)
|
||||||
(assert (= "\xff\xff" (string buffer-uint16-negative)) "buffer/push-uint16 negative")
|
(assert (= "\xff\xff" (string buffer-uint16-max)) "buffer/push-uint16 max")
|
||||||
|
|
||||||
(def buffer-uint32-be @"")
|
(def buffer-uint32-be @"")
|
||||||
(buffer/push-uint32 buffer-uint32-be :be 0x01020304)
|
(buffer/push-uint32 buffer-uint32-be :be 0x01020304)
|
||||||
@ -97,9 +97,9 @@
|
|||||||
(buffer/push-uint32 buffer-uint32-le :le 0x01020304)
|
(buffer/push-uint32 buffer-uint32-le :le 0x01020304)
|
||||||
(assert (= "\x04\x03\x02\x01" (string buffer-uint32-le)) "buffer/push-uint32 little endian")
|
(assert (= "\x04\x03\x02\x01" (string buffer-uint32-le)) "buffer/push-uint32 little endian")
|
||||||
|
|
||||||
(def buffer-uint32-negative @"")
|
(def buffer-uint32-max @"")
|
||||||
(buffer/push-uint32 buffer-uint32-negative :be -1)
|
(buffer/push-uint32 buffer-uint32-max :be 0xFFFFFFFF)
|
||||||
(assert (= "\xff\xff\xff\xff" (string buffer-uint32-negative)) "buffer/push-uint32 negative")
|
(assert (= "\xff\xff\xff\xff" (string buffer-uint32-max)) "buffer/push-uint32 max")
|
||||||
|
|
||||||
(def buffer-float32-be @"")
|
(def buffer-float32-be @"")
|
||||||
(buffer/push-float32 buffer-float32-be :be 1.234)
|
(buffer/push-float32 buffer-float32-be :be 1.234)
|
||||||
|
Loading…
Reference in New Issue
Block a user