change minimum cmake version to 2.6
[project/libubox.git] / blobmsg_json.c
index 8195763..8997214 100644 (file)
@@ -180,6 +180,9 @@ static void blobmsg_format_element(struct strbuf *s, struct blob_attr *attr, boo
        void *data;
        int len;
 
+       if (!blobmsg_check_attr(attr, false))
+               return;
+
        if (!array && blobmsg_name(attr)[0]) {
                blobmsg_format_string(s, blobmsg_name(attr));
                blobmsg_puts(s, ":", 1);
@@ -210,7 +213,7 @@ static void blobmsg_format_element(struct strbuf *s, struct blob_attr *attr, boo
                sprintf(buf, "%d", *(uint32_t *)data);
                break;
        case BLOBMSG_TYPE_INT64:
-               sprintf(buf, "%lld", *(uint64_t *)data);
+               sprintf(buf, "%lld", (long long int) *(uint64_t *)data);
                break;
        case BLOBMSG_TYPE_STRING:
                blobmsg_format_string(s, data);