@@ -1023,7 +1023,7 @@ static void json_get_hash_iter(const ng_parser_t *parser, str *key, parser_arg v
1023
1023
char * tmp = __g_memdup (key -> s , key -> len + 1 );
1024
1024
tmp [key -> len ] = '\0' ;
1025
1025
// XXX eliminate string dup? eliminate URI decode?
1026
- if (g_hash_table_insert (arg .ht , tmp , str_uri_decode_len (val .s , val .len )) != TRUE)
1026
+ if (g_hash_table_insert (arg .ht , tmp , parser -> unescape (val .s , val .len )) != TRUE)
1027
1027
rlog (LOG_WARNING ,"Key %s already exists" , tmp );
1028
1028
}
1029
1029
@@ -1191,7 +1191,7 @@ struct cb_iter_ptrs { // XXX remove this?
1191
1191
1192
1192
static void json_build_list_cb_iter (str * val , unsigned int i , helper_arg arg ) {
1193
1193
struct cb_iter_ptrs * args = arg .generic ;
1194
- str * s = str_uri_decode_len (val -> s , val -> len );
1194
+ str * s = redis_parser -> unescape (val -> s , val -> len );
1195
1195
args -> cb (s , args -> cb_arg , args -> list , args -> ptr );
1196
1196
g_free (s );
1197
1197
}
@@ -2310,32 +2310,32 @@ int redis_restore(struct redis *r, bool foreign, int db) {
2310
2310
#define JSON_ADD_LIST_STRING (f ,...) do { \
2311
2311
int len = snprintf(tmp,sizeof(tmp), f, __VA_ARGS__); \
2312
2312
char enc[len * 3 + 1]; \
2313
- str encstr = str_uri_encode_len (enc, tmp, len); \
2313
+ str encstr = parser->escape (enc, tmp, len); \
2314
2314
parser->list_add_str_dup(inner, &encstr); \
2315
2315
} while (0)
2316
2316
#define JSON_SET_NSTRING (a ,b ,c ,...) do { \
2317
2317
int len = snprintf(tmp,sizeof(tmp), c, __VA_ARGS__); \
2318
2318
char enc[len * 3 + 1]; \
2319
- str encstr = str_uri_encode_len (enc, tmp, len); \
2319
+ str encstr = parser->escape (enc, tmp, len); \
2320
2320
snprintf(tmp,sizeof(tmp), a,b); \
2321
2321
parser->dict_add_str_dup(inner, tmp, &encstr); \
2322
2322
} while (0)
2323
2323
#define JSON_SET_NSTRING_CSTR (a ,b ,d ) JSON_SET_NSTRING_LEN(a, b, strlen(d), d)
2324
2324
#define JSON_SET_NSTRING_LEN (a ,b ,l ,d ) do { \
2325
2325
char enc[l * 3 + 1]; \
2326
- str encstr = str_uri_encode_len (enc, d, l); \
2326
+ str encstr = parser->escape (enc, d, l); \
2327
2327
snprintf(tmp,sizeof(tmp), a,b); \
2328
2328
parser->dict_add_str_dup(inner, tmp, &encstr); \
2329
2329
} while (0)
2330
2330
#define JSON_SET_SIMPLE (a ,c ,...) do { \
2331
2331
int len = snprintf(tmp,sizeof(tmp), c, __VA_ARGS__); \
2332
2332
char enc[len * 3 + 1]; \
2333
- str encstr = str_uri_encode_len (enc, tmp, len); \
2333
+ str encstr = parser->escape (enc, tmp, len); \
2334
2334
parser->dict_add_str_dup(inner, a, &encstr); \
2335
2335
} while (0)
2336
2336
#define JSON_SET_SIMPLE_LEN (a ,l ,d ) do { \
2337
2337
char enc[l * 3 + 1]; \
2338
- str encstr = str_uri_encode_len (enc, d, l); \
2338
+ str encstr = parser->escape (enc, d, l); \
2339
2339
parser->dict_add_str_dup(inner, a, &encstr); \
2340
2340
} while (0)
2341
2341
#define JSON_SET_SIMPLE_CSTR (a ,d ) parser->dict_add_str_dup(inner, a, &STR(d))
0 commit comments