Fixed JSONP output.

master
Nicolas Favre-Felix 14 years ago
parent bbec5c6593
commit e08af9149d

@ -108,29 +108,25 @@ json_wrap_redis_reply(const struct cmd *cmd, const redisReply *r) {
char *
json_string_output(json_t *j, struct cmd *cmd) {
struct evkeyval *kv;
char *json_reply = json_dumps(j, JSON_COMPACT);
/* FIXME: check for JSONP */
#if 0
TAILQ_FOREACH(kv, &cmd->uri_params, next) {
if(strcmp(kv->key, "jsonp") == 0) {
size_t json_len = strlen(json_reply);
size_t val_len = strlen(kv->value);
size_t ret_len = val_len + 1 + json_len + 3;
char *ret = calloc(1 + ret_len, 1);
memcpy(ret, kv->value, val_len);
ret[val_len]='(';
memcpy(ret + val_len + 1, json_reply, json_len);
memcpy(ret + val_len + 1 + json_len, ");\n", 3);
free(json_reply);
return ret;
}
/* check for JSONP */
if(cmd->client->qs_jsonp.s) {
size_t json_len = strlen(json_reply);
size_t val_len = cmd->client->qs_jsonp.sz;
size_t ret_len = val_len + 1 + json_len + 3;
char *ret = calloc(1 + ret_len, 1);
memcpy(ret, cmd->client->qs_jsonp.s, val_len);
ret[val_len]='(';
memcpy(ret + val_len + 1, json_reply, json_len);
memcpy(ret + val_len + 1 + json_len, ");\n", 3);
free(json_reply);
return ret;
}
#endif
return json_reply;
}

Loading…
Cancel
Save