Compare commits

...

1 次程式碼提交

作者 SHA1 備註 提交日期
  Paul J. Davis 4613640394 Allow for pre-encoded JSON during encoding 8 年之前
共有 2 個檔案被更改,包括 7 行新增2 行删除
分割檢視
  1. +5
    -2
      c_src/encoder.c
  2. +2
    -0
      src/jiffy.erl

+ 5
- 2
c_src/encoder.c 查看文件

@ -784,8 +784,11 @@ encode_iter(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
}
} else if(enif_get_tuple(env, curr, &arity, &tuple)) {
if(arity != 1) {
ret = enc_obj_error(e, "invalid_ejson", curr);
goto done;
if(!enc_unknown(e, curr)) {
ret = enc_error(e, "internal_error");
goto done;
}
continue;
}
if(!enif_is_list(env, tuple[0])) {
ret = enc_obj_error(e, "invalid_object", curr);

+ 2
- 0
src/jiffy.erl 查看文件

@ -158,6 +158,8 @@ finish_encode([<<_/binary>>=B | Rest], Acc) ->
finish_encode([Val | Rest], Acc) when is_integer(Val) ->
Bin = list_to_binary(integer_to_list(Val)),
finish_encode(Rest, [Bin | Acc]);
finish_encode([{json, Json} | Rest], Acc) ->
finish_encode(Rest, [Json | Acc]);
finish_encode([InvalidEjson | _], _) ->
throw({error, {invalid_ejson, InvalidEjson}});
finish_encode(_, _) ->

Loading…
取消
儲存