@ -424,8 +424,6 @@ encode(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
double dval ;
double dval ;
long lval ;
long lval ;
int is_partial = 0 ;
if ( argc ! = 1 ) {
if ( argc ! = 1 ) {
return enif_make_badarg ( env ) ;
return enif_make_badarg ( env ) ;
}
}
@ -563,15 +561,15 @@ encode(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
goto done ;
goto done ;
}
}
if ( ! enif_get_tuple ( env , item , & arity , & tuple ) ) {
if ( ! enif_get_tuple ( env , item , & arity , & tuple ) ) {
ret = enc_error ( e , " invalid_object_pai r " ) ;
ret = enc_error ( e , " invalid_object_membe r " ) ;
goto done ;
goto done ;
}
}
if ( arity ! = 2 ) {
if ( arity ! = 2 ) {
ret = enc_error ( e , " invalid_object_pair " ) ;
ret = enc_error ( e , " invalid_object_member_arity " ) ;
goto done ;
goto done ;
}
}
if ( ! enc_string ( e , tuple [ 0 ] ) ) {
if ( ! enc_string ( e , tuple [ 0 ] ) ) {
ret = enc_error ( e , " invalid_object_key " ) ;
ret = enc_error ( e , " invalid_object_member_ key " ) ;
goto done ;
goto done ;
}
}
if ( ! enc_colon ( e ) ) {
if ( ! enc_colon ( e ) ) {
@ -601,7 +599,6 @@ encode(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
stack = enif_make_list_cell ( env , e - > atoms - > ref_array , stack ) ;
stack = enif_make_list_cell ( env , e - > atoms - > ref_array , stack ) ;
stack = enif_make_list_cell ( env , item , stack ) ;
stack = enif_make_list_cell ( env , item , stack ) ;
} else {
} else {
is_partial = 1 ;
if ( ! enc_unknown ( e , curr ) ) {
if ( ! enc_unknown ( e , curr ) ) {
ret = enc_error ( e , " internal_error " ) ;
ret = enc_error ( e , " internal_error " ) ;
goto done ;
goto done ;
@ -614,8 +611,8 @@ encode(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
goto done ;
goto done ;
}
}
if ( ! is_partial ) {
ret = enif_make_tuple2 ( env , e - > atoms - > atom_ok , item) ;
if ( e - > iolen = = 0 ) {
ret = item ;
} else {
} else {
ret = enif_make_tuple2 ( env , e - > atoms - > atom_partial , item ) ;
ret = enif_make_tuple2 ( env , e - > atoms - > atom_partial , item ) ;
}
}