소스 검색

Fix backwards compatibility

pull/184/head
Paul J. Davis 6 년 전
부모
커밋
591448da47
4개의 변경된 파일22개의 추가작업 그리고 6개의 파일을 삭제
  1. +8
    -1
      c_src/decoder.c
  2. +7
    -2
      c_src/encoder.c
  3. +2
    -2
      test/jiffy_04_string_tests.erl
  4. +5
    -1
      test/jiffy_06_object_tests.erl

+ 8
- 1
c_src/decoder.c 파일 보기

@ -765,7 +765,14 @@ decode_iter(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
return enif_make_tuple2(
env,
st->atom_iter,
enif_make_tuple(env, 5, tmp_argv)
enif_make_tuple5(
env,
tmp_argv[0],
tmp_argv[1],
tmp_argv[2],
tmp_argv[3],
tmp_argv[4]
)
);
#endif
}

+ 7
- 2
c_src/encoder.c 파일 보기

@ -699,6 +699,7 @@ encode_iter(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
ERL_NIF_TERM curr;
ERL_NIF_TERM item;
const ERL_NIF_TERM* tuple;
ERL_NIF_TERM tmp_argv[3];
int arity;
ErlNifSInt64 lval;
double dval;
@ -730,7 +731,6 @@ encode_iter(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
bytes_processed = (e->iosize + e->i) - start;
if(should_yield(bytes_processed, e->bytes_per_red)) {
ERL_NIF_TERM tmp_argv[3];
assert(enif_is_list(env, e->iolist));
@ -754,7 +754,12 @@ encode_iter(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
return enif_make_tuple2(
env,
st->atom_iter,
enif_make_tuple(env, 3, tmp_argv)
enif_make_tuple3(
env,
tmp_argv[0],
tmp_argv[1],
tmp_argv[2]
)
);
#endif
}

+ 2
- 2
test/jiffy_04_string_tests.erl 파일 보기

@ -9,9 +9,9 @@
latin1_atom_test_() ->
Key = binary_to_atom(<<228>>, latin1), %% `ä`
Key = list_to_atom([228]), %% `ä`
Expected = <<"{\"", 195, 164, "\":\"bar\"}">>,
?_assertEqual(Expected, enc(maps:put(Key, <<"bar">>, #{}))).
?_assertEqual(Expected, jiffy:encode({[{Key, <<"bar">>}]})).
string_success_test_() ->

+ 5
- 1
test/jiffy_06_object_tests.erl 파일 보기

@ -23,7 +23,11 @@ nested_object_test_() ->
nested(0) -> <<"bottom">>;
nested(N) -> {[{integer_to_binary(N), nested(N - 1)}]}.
nested(N) -> {[{to_bin(N), nested(N - 1)}]}.
to_bin(N) when is_integer(N) ->
list_to_binary(integer_to_list(N)).
gen(ok, {J, E}) ->

불러오는 중...
취소
저장