From 79536af5b444cfb6b6e78765b40a2cac80ca7cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20H=C3=B6gberg?= Date: Tue, 9 Apr 2019 07:56:21 +0200 Subject: [PATCH] Use enif_is_identical for equality checks --- c_src/decoder.c | 10 +++++----- c_src/encoder.c | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/c_src/decoder.c b/c_src/decoder.c index cb2451f..586cb5b 100644 --- a/c_src/decoder.c +++ b/c_src/decoder.c @@ -678,19 +678,19 @@ decode_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) continue; } else if(get_bytes_per_red(env, val, &(d->bytes_per_red))) { continue; - } else if(enif_compare(val, d->atoms->atom_return_maps) == 0) { + } else if(enif_is_identical(val, d->atoms->atom_return_maps)) { #if MAP_TYPE_PRESENT d->return_maps = 1; #else return enif_make_badarg(env); #endif - } else if(enif_compare(val, d->atoms->atom_return_trailer) == 0) { + } else if(enif_is_identical(val, d->atoms->atom_return_trailer)) { d->return_trailer = 1; - } else if(enif_compare(val, d->atoms->atom_dedupe_keys) == 0) { + } else if(enif_is_identical(val, d->atoms->atom_dedupe_keys)) { d->dedupe_keys = 1; - } else if(enif_compare(val, d->atoms->atom_copy_strings) == 0) { + } else if(enif_is_identical(val, d->atoms->atom_copy_strings)) { d->copy_strings = 1; - } else if(enif_compare(val, d->atoms->atom_use_nil) == 0) { + } else if(enif_is_identical(val, d->atoms->atom_use_nil)) { d->null_term = d->atoms->atom_nil; } else if(get_null_term(env, val, &(d->null_term))) { continue; diff --git a/c_src/encoder.c b/c_src/encoder.c index 9681493..7754162 100644 --- a/c_src/encoder.c +++ b/c_src/encoder.c @@ -726,15 +726,15 @@ encode_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) } while(enif_get_list_cell(env, opts, &val, &opts)) { - if(enif_compare(val, e->atoms->atom_uescape) == 0) { + if(enif_is_identical(val, e->atoms->atom_uescape)) { e->uescape = 1; - } else if(enif_compare(val, e->atoms->atom_pretty) == 0) { + } else if(enif_is_identical(val, e->atoms->atom_pretty)) { e->pretty = 1; - } else if(enif_compare(val, e->atoms->atom_escape_forward_slashes) == 0) { + } else if(enif_is_identical(val, e->atoms->atom_escape_forward_slashes)) { e->escape_forward_slashes = 1; - } else if(enif_compare(val, e->atoms->atom_use_nil) == 0) { + } else if(enif_is_identical(val, e->atoms->atom_use_nil)) { e->use_nil = 1; - } else if(enif_compare(val, e->atoms->atom_force_utf8) == 0) { + } else if(enif_is_identical(val, e->atoms->atom_force_utf8)) { // Ignore, handled in Erlang } else if(get_bytes_per_iter(env, val, &(e->bytes_per_red))) { continue; @@ -858,22 +858,22 @@ encode_iter(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) termstack_push(&stack, curr); termstack_push(&stack, e->atoms->ref_array); termstack_push(&stack, item); - } else if(enif_compare(curr, e->atoms->atom_null) == 0) { + } else if(enif_is_identical(curr, e->atoms->atom_null)) { if(!enc_literal(e, "null", 4)) { ret = enc_error(e, "null"); goto done; } - } else if(e->use_nil && enif_compare(curr, e->atoms->atom_nil) == 0) { + } else if(e->use_nil && enif_is_identical(curr, e->atoms->atom_nil)) { if(!enc_literal(e, "null", 4)) { ret = enc_error(e, "null"); goto done; } - } else if(enif_compare(curr, e->atoms->atom_true) == 0) { + } else if(enif_is_identical(curr, e->atoms->atom_true)) { if(!enc_literal(e, "true", 4)) { ret = enc_error(e, "true"); goto done; } - } else if(enif_compare(curr, e->atoms->atom_false) == 0) { + } else if(enif_is_identical(curr, e->atoms->atom_false)) { if(!enc_literal(e, "false", 5)) { ret = enc_error(e, "false"); goto done;