Skip to content

Commit 3a7f0cc

Browse files
committed
allow passing NULL for all arrays in functions that return the array length
This eschews the need to allocate a zero-sized array on the Java side. Signed-off-by: Aram Hăvărneanu <[email protected]>
1 parent cbed726 commit 3a7f0cc

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

alloc.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ size_t
2121
cue_cgo_handle_slice_len(uintptr_t *p) {
2222
size_t len = 0;
2323

24+
if (p == NULL) {
25+
return 0;
26+
}
27+
2428
while(*p != 0) {
2529
p++;
2630
len++;

build.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ size_t
1919
cue_bopt_len(cue_bopt *opts) {
2020
size_t len = 0;
2121

22+
if (opts == NULL) {
23+
return 0;
24+
}
25+
2226
while(opts->tag != CUE_BUILD_NONE) {
2327
opts++;
2428
len++;

option.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ size_t
1919
cue_eopt_len(cue_eopt *opts) {
2020
size_t len = 0;
2121

22+
if (opts == NULL) {
23+
return 0;
24+
}
25+
2226
while(opts->tag != CUE_OPT_NONE) {
2327
opts++;
2428
len++;

0 commit comments

Comments
 (0)