1
0
mirror of https://github.com/stedolan/jq.git synced 2024-05-11 05:55:39 +00:00

Allow the 'keys' function to take arrays.

This commit is contained in:
Stephen Dolan
2012-10-22 23:31:07 +01:00
parent 93f80b2726
commit 2a610da2d1
2 changed files with 12 additions and 0 deletions

View File

@@ -228,6 +228,12 @@ static void f_keys(jv input[], jv output[]) {
}
free(keys);
jv_free(input[0]);
} else if (jv_get_kind(input[0]) == JV_KIND_ARRAY) {
int n = jv_array_length(input[0]);
output[0] = jv_array();
for (int i=0; i<n; i++){
output[0] = jv_array_set(output[0], i, jv_number(i));
}
} else {
output[0] = jv_invalid_with_msg(jv_string_fmt("'keys' only supports object, not %s",
jv_kind_name(jv_get_kind(input[0]))));