]> granicus.if.org Git - jq/commitdiff
Make length return abs value of numeric inputs
authorNicolas Williams <nico@cryptonector.com>
Sat, 30 Nov 2013 08:29:21 +0000 (02:29 -0600)
committerNicolas Williams <nico@cryptonector.com>
Thu, 5 Dec 2013 00:21:42 +0000 (18:21 -0600)
builtin.c

index 3c3ac5bd80aa2ef1b84a0396706271d03391a0d3..aa3c888a2001fa849305d7d9a1aab6d09b3e293e 100644 (file)
--- a/builtin.c
+++ b/builtin.c
@@ -287,6 +287,8 @@ static jv f_length(jv input) {
     return jv_number(jv_object_length(input));
   } else if (jv_get_kind(input) == JV_KIND_STRING) {
     return jv_number(jv_string_length_codepoints(input));
+  } else if (jv_get_kind(input) == JV_KIND_NUMBER) {
+    return jv_number(fabs(jv_number_value(input)));
   } else if (jv_get_kind(input) == JV_KIND_NULL) {
     jv_free(input);
     return jv_number(0);