From c531bfa7b69b8856c5c1d4983e8cddefb9adc246 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 11 Mar 2026 20:13:18 -0700 Subject: [PATCH] remove consts from tsk_json_struct_metadata_get_blob (closes #3425) --- c/tests/test_core.c | 16 ++++++++-------- c/tskit/core.c | 17 ++++++++--------- c/tskit/core.h | 5 ++--- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/c/tests/test_core.c b/c/tests/test_core.c index dad4a81bf2..9d8d9f5a7d 100644 --- a/c/tests/test_core.c +++ b/c/tests/test_core.c @@ -101,9 +101,9 @@ test_json_struct_metadata_get_blob(void) { int ret; char metadata[128]; - const char *json; + char *json; tsk_size_t json_buffer_length; - const char *blob; + char *blob; tsk_size_t blob_length; uint8_t *bytes; tsk_size_t metadata_length; @@ -111,9 +111,9 @@ test_json_struct_metadata_get_blob(void) size_t json_length; size_t payload_length; size_t total_length; - const char json_payload[] = "{\"a\":1}"; - const uint8_t binary_payload[] = { 0x01, 0x02, 0x03, 0x04 }; - const uint8_t empty_payload[] = { 0 }; + char json_payload[] = "{\"a\":1}"; + uint8_t binary_payload[] = { 0x01, 0x02, 0x03, 0x04 }; + uint8_t empty_payload[] = { 0 }; bytes = (uint8_t *) metadata; header_length = 4 + 1 + 8 + 8; @@ -135,7 +135,7 @@ test_json_struct_metadata_get_blob(void) ret = tsk_json_struct_metadata_get_blob( metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length); CU_ASSERT_EQUAL(ret, 0); - CU_ASSERT_PTR_EQUAL(json, (const char *) bytes + header_length); + CU_ASSERT_PTR_EQUAL(json, (char *) bytes + header_length); CU_ASSERT_EQUAL(json_buffer_length, (tsk_size_t) json_length); if (json_length > 0) { CU_ASSERT_EQUAL(memcmp(json, json_payload, json_length), 0); @@ -152,7 +152,7 @@ test_json_struct_metadata_get_blob(void) ret = tsk_json_struct_metadata_get_blob( metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length); CU_ASSERT_EQUAL(ret, 0); - CU_ASSERT_PTR_EQUAL(json, (const char *) bytes + header_length); + CU_ASSERT_PTR_EQUAL(json, (char *) bytes + header_length); CU_ASSERT_EQUAL(json_buffer_length, (tsk_size_t) json_length); CU_ASSERT_EQUAL(blob_length, (tsk_size_t) payload_length); CU_ASSERT_PTR_EQUAL(blob, bytes + header_length + json_length); @@ -168,7 +168,7 @@ test_json_struct_metadata_get_blob(void) ret = tsk_json_struct_metadata_get_blob( metadata, metadata_length, &json, &json_buffer_length, &blob, &blob_length); CU_ASSERT_EQUAL(ret, 0); - CU_ASSERT_PTR_EQUAL(json, (const char *) bytes + header_length); + CU_ASSERT_PTR_EQUAL(json, (char *) bytes + header_length); CU_ASSERT_EQUAL(json_buffer_length, (tsk_size_t) json_length); CU_ASSERT_EQUAL(blob_length, (tsk_size_t) payload_length); CU_ASSERT_PTR_EQUAL(blob, bytes + header_length + json_length); diff --git a/c/tskit/core.c b/c/tskit/core.c index 574424c144..66f8cbd0ef 100644 --- a/c/tskit/core.c +++ b/c/tskit/core.c @@ -142,9 +142,8 @@ tsk_generate_uuid(char *dest, int TSK_UNUSED(flags)) } int -tsk_json_struct_metadata_get_blob(const char *metadata, tsk_size_t metadata_length, - const char **json, tsk_size_t *json_length, const char **blob, - tsk_size_t *blob_length) +tsk_json_struct_metadata_get_blob(char *metadata, tsk_size_t metadata_length, + char **json, tsk_size_t *json_length, char **blob, tsk_size_t *blob_length) { int ret; uint8_t version; @@ -152,16 +151,16 @@ tsk_json_struct_metadata_get_blob(const char *metadata, tsk_size_t metadata_leng uint64_t binary_length_u64; uint64_t header_and_json_length; uint64_t total_length; - const uint8_t *bytes; - const char *blob_start; - const char *json_start; + uint8_t *bytes; + char *blob_start; + char *json_start; if (metadata == NULL || json == NULL || json_length == NULL || blob == NULL || blob_length == NULL) { ret = tsk_trace_error(TSK_ERR_BAD_PARAM_VALUE); goto out; } - bytes = (const uint8_t *) metadata; + bytes = (uint8_t *) metadata; if (metadata_length < TSK_JSON_BINARY_HEADER_SIZE) { ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_TRUNCATED); goto out; @@ -191,8 +190,8 @@ tsk_json_struct_metadata_get_blob(const char *metadata, tsk_size_t metadata_leng ret = tsk_trace_error(TSK_ERR_JSON_STRUCT_METADATA_TRUNCATED); goto out; } - json_start = (const char *) bytes + TSK_JSON_BINARY_HEADER_SIZE; - blob_start = (const char *) bytes + TSK_JSON_BINARY_HEADER_SIZE + json_length_u64; + json_start = (char *) bytes + TSK_JSON_BINARY_HEADER_SIZE; + blob_start = (char *) bytes + TSK_JSON_BINARY_HEADER_SIZE + json_length_u64; *json = json_start; *json_length = (tsk_size_t) json_length_u64; *blob = blob_start; diff --git a/c/tskit/core.h b/c/tskit/core.h index 9fe0643975..2964e3d8f1 100644 --- a/c/tskit/core.h +++ b/c/tskit/core.h @@ -1153,9 +1153,8 @@ the original metadata buffer is alive. @param[out] blob_length On success, set to the payload length in bytes. @return Return 0 on success or a negative value on failure. */ -int tsk_json_struct_metadata_get_blob(const char *metadata, tsk_size_t metadata_length, - const char **json, tsk_size_t *json_length, const char **blob, - tsk_size_t *blob_length); +int tsk_json_struct_metadata_get_blob(char *metadata, tsk_size_t metadata_length, + char **json, tsk_size_t *json_length, char **blob, tsk_size_t *blob_length); /* TODO most of these can probably be macros so they compile out as no-ops. * Lets do the 64 bit tsk_size_t switch first though. */