]> git.kaiwu.me - njs.git/commitdiff
Fixed various clang static analyzer warnings.
authorDmitry Volyntsev <xeioex@nginx.com>
Mon, 19 Nov 2018 13:30:35 +0000 (16:30 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Mon, 19 Nov 2018 13:30:35 +0000 (16:30 +0300)
In njs_object_keys_array() function.

njs/njs_object.c

index 89d29996687298a43f4637a07251cc8f91d14514..e99725b361867f0d7fa9be7062122bfe1b9e0da7 100644 (file)
@@ -959,33 +959,17 @@ njs_object_keys_array(njs_vm_t *vm, const njs_value_t *value)
 
     n = 0;
 
-    switch (value->type) {
-    case NJS_ARRAY:
+    if (array != NULL) {
         for (i = 0; i < length; i++) {
             if (njs_is_valid(&array->start[i])) {
                 njs_uint32_to_string(&keys->start[n++], i);
             }
         }
 
-        break;
-
-    case NJS_STRING:
-    case NJS_OBJECT_STRING:
-        if (value->type == NJS_OBJECT_STRING) {
-            string = &value->data.u.object_value->value;
-
-        } else {
-            string = (njs_value_t *) value;
-        }
-
+    } else if (length != 0) {
         for (i = 0; i < length; i++) {
             njs_uint32_to_string(&keys->start[n++], i);
         }
-
-        break;
-
-    default:
-        break;
     }
 
     if (nxt_fast_path(hash != NULL)) {