https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120872

--- Comment #2 from Sam James <sjames at gcc dot gnu.org> ---
The original has:
```

static inline ATTR_PURE const unsigned char *
json_node_get_data(const struct json_node *jnode, size_t *size_r)
{
        const char *literal;

        switch (jnode->type) {
        case JSON_TYPE_STRING:
        case JSON_TYPE_NUMBER:
        case JSON_TYPE_TEXT:
                break;
        case JSON_TYPE_TRUE:
                literal = "true";
                *size_r = strlen(literal);
                return (const unsigned char *)literal;
        case JSON_TYPE_FALSE:
                literal = "false";
                *size_r = strlen(literal);
                return (const unsigned char *)literal;
        case JSON_TYPE_NULL:
                literal = "null";
                *size_r = strlen(literal);
                return (const unsigned char *)literal;
        default:
                i_unreached();
        }
        return json_value_get_data(&jnode->value, size_r);
}
```

That looks bogus to me indeed.

Reply via email to