diff options
Diffstat (limited to 'src/linker.c')
-rw-r--r-- | src/linker.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/linker.c b/src/linker.c index 5611d512..962bdc14 100644 --- a/src/linker.c +++ b/src/linker.c @@ -240,7 +240,11 @@ static int process_dependencies(jq_state *jq, jv jq_origin, jv lib_origin, block block bk = *src_block; int nerrors = 0; - jv_array_foreach(deps, i, dep) { + // XXX This is a backward jv_array_foreach because bindings go in reverse + for (int i = jv_array_length(jv_copy(deps)); i > 0; ) { + i--; + jv dep = jv_array_get(jv_copy(deps), i); + const char *as_str = NULL; int is_data = jv_get_kind(jv_object_get(jv_copy(dep), jv_string("is_data"))) == JV_KIND_TRUE; int raw = 0; |