1
0
mirror of https://github.com/janet-lang/janet synced 2025-07-14 16:02:59 +00:00

refactor(c-api): Use size_t on some JanetTupleHead fields

This commit is contained in:
GrayJack 2024-04-15 18:32:55 -03:00
parent a58fc4c8c1
commit 7b0e5e31db
2 changed files with 6 additions and 6 deletions

View File

@ -31,8 +31,8 @@
/* Create a new empty tuple of the given size. This will return memory /* Create a new empty tuple of the given size. This will return memory
* which should be filled with Janets. The memory will not be collected until * which should be filled with Janets. The memory will not be collected until
* janet_tuple_end is called. */ * janet_tuple_end is called. */
Janet *janet_tuple_begin(int32_t length) { Janet *janet_tuple_begin(size_t length) {
size_t size = sizeof(JanetTupleHead) + ((size_t) length * sizeof(Janet)); size_t size = sizeof(JanetTupleHead) + (length * sizeof(Janet));
JanetTupleHead *head = janet_gcalloc(JANET_MEMORY_TUPLE, size); JanetTupleHead *head = janet_gcalloc(JANET_MEMORY_TUPLE, size);
head->sm_line = -1; head->sm_line = -1;
head->sm_column = -1; head->sm_column = -1;
@ -47,7 +47,7 @@ const Janet *janet_tuple_end(Janet *tuple) {
} }
/* Build a tuple with n values */ /* Build a tuple with n values */
const Janet *janet_tuple_n(const Janet *values, int32_t n) { const Janet *janet_tuple_n(const Janet *values, size_t n) {
Janet *t = janet_tuple_begin(n); Janet *t = janet_tuple_begin(n);
safe_memcpy(t, values, sizeof(Janet) * n); safe_memcpy(t, values, sizeof(Janet) * n);
return janet_tuple_end(t); return janet_tuple_end(t);

View File

@ -997,7 +997,7 @@ struct JanetKV {
/* Prefix for a tuple */ /* Prefix for a tuple */
struct JanetTupleHead { struct JanetTupleHead {
JanetGCObject gc; JanetGCObject gc;
int32_t length; size_t length;
int32_t hash; int32_t hash;
int32_t sm_line; int32_t sm_line;
int32_t sm_column; int32_t sm_column;
@ -1641,9 +1641,9 @@ JANET_API void janet_buffer_push_u64(JanetBuffer *buffer, uint64_t x);
#define janet_tuple_sm_line(t) (janet_tuple_head(t)->sm_line) #define janet_tuple_sm_line(t) (janet_tuple_head(t)->sm_line)
#define janet_tuple_sm_column(t) (janet_tuple_head(t)->sm_column) #define janet_tuple_sm_column(t) (janet_tuple_head(t)->sm_column)
#define janet_tuple_flag(t) (janet_tuple_head(t)->gc.flags) #define janet_tuple_flag(t) (janet_tuple_head(t)->gc.flags)
JANET_API Janet *janet_tuple_begin(int32_t length); JANET_API Janet *janet_tuple_begin(size_t length);
JANET_API JanetTuple janet_tuple_end(Janet *tuple); JANET_API JanetTuple janet_tuple_end(Janet *tuple);
JANET_API JanetTuple janet_tuple_n(const Janet *values, int32_t n); JANET_API JanetTuple janet_tuple_n(const Janet *values, size_t n);
/* String/Symbol functions */ /* String/Symbol functions */
#define janet_string_head(s) ((JanetStringHead *)((char *)s - offsetof(JanetStringHead, data))) #define janet_string_head(s) ((JanetStringHead *)((char *)s - offsetof(JanetStringHead, data)))