diff options
author | Joey Adams | 2011-03-28 05:58:55 +0000 |
---|---|---|
committer | Joey Adams | 2011-03-28 14:51:34 +0000 |
commit | 3f60c8123bfa30b88bf5b78cceff91153cb51110 (patch) | |
tree | ade231329aaa77bef2aa654cca51baf9f3f08123 | |
parent | 4a6312ceb561fba8902a28b29764a70276d1555c (diff) |
json.c: Simplify stringify_value by invoking expect_value to catch all the scalar cases
-rw-r--r-- | json.c | 29 |
1 files changed, 3 insertions, 26 deletions
@@ -484,24 +484,6 @@ stringify_value(StringInfo buf, const char *s, const char *e, switch (*s) { - case 'n': - appendStringInfoString(buf, "null"); - return s + 4; - case 'f': - appendStringInfoString(buf, "false"); - return s + 5; - case 't': - appendStringInfoString(buf, "true"); - return s + 4; - case '-': - s2 = expect_number(s, e); - appendBinaryStringInfo(buf, s, s2 - s); - return s2; - case '"': - s2 = expect_string(s, e); - appendBinaryStringInfo(buf, s, s2 - s); - return s2; - case '[': appendStringInfoString(buf, "[\n"); s++; @@ -552,14 +534,9 @@ stringify_value(StringInfo buf, const char *s, const char *e, return s + 1; default: - if (is_digit(*s)) - { - s2 = expect_number(s, e); - appendBinaryStringInfo(buf, s, s2 - s); - return s2; - } - report_corrupt_json(); - return NULL; + s2 = expect_value(s, e); + appendBinaryStringInfo(buf, s, s2 - s); + return s2; } } |