Skip to content

Commit

Permalink
refactor: use c++ cast functions instead of c-style
Browse files Browse the repository at this point in the history
  • Loading branch information
heywhy committed Jul 6, 2024
1 parent 3031fc2 commit fcd7dab
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions c_src/atomic_int.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ ERL_NIF_TERM make_atom(ErlNifEnv *env, const char *value);

ERL_NIF_TERM init(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
ErlNifSInt64 value;
atomic_int **resource = (atomic_int **)enif_alloc_resource(
ATOMICS_RESOURCE_TYPE, sizeof(atomic_int *));
atomic_int **resource = static_cast<atomic_int **>(
enif_alloc_resource(ATOMICS_RESOURCE_TYPE, sizeof(atomic_int *)));

if (enif_get_int64(env, argv[0], &value)) {
*resource = new atomic_int(value);
Expand All @@ -38,7 +38,7 @@ ERL_NIF_TERM add(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
}

if (enif_get_resource(env, argv[0], ATOMICS_RESOURCE_TYPE,
(void **)&variable)) {
reinterpret_cast<void **>(&variable))) {
(*variable)->value += count;

return make_atom(env, "ok");
Expand All @@ -56,7 +56,7 @@ ERL_NIF_TERM sub(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
}

if (enif_get_resource(env, argv[0], ATOMICS_RESOURCE_TYPE,
(void **)&variable)) {
reinterpret_cast<void **>(&variable))) {
(*variable)->value -= count;

return make_atom(env, "ok");
Expand All @@ -74,7 +74,7 @@ ERL_NIF_TERM add_get(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
}

if (enif_get_resource(env, argv[0], ATOMICS_RESOURCE_TYPE,
(void **)&variable)) {
reinterpret_cast<void **>(&variable))) {
(*variable)->value += count;

return enif_make_int64(env, (*variable)->value);
Expand All @@ -92,7 +92,7 @@ ERL_NIF_TERM sub_get(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
}

if (enif_get_resource(env, argv[0], ATOMICS_RESOURCE_TYPE,
(void **)&variable)) {
reinterpret_cast<void **>(&variable))) {
(*variable)->value -= count;

return enif_make_int64(env, (*variable)->value);
Expand All @@ -110,8 +110,7 @@ ERL_NIF_TERM fetch_add(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
}

if (enif_get_resource(env, argv[0], ATOMICS_RESOURCE_TYPE,
(void **)&variable)) {

reinterpret_cast<void **>(&variable))) {
int64_t value = (*variable)->value;

(*variable)->value += count;
Expand All @@ -131,7 +130,7 @@ ERL_NIF_TERM fetch_sub(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
}

if (enif_get_resource(env, argv[0], ATOMICS_RESOURCE_TYPE,
(void **)&variable)) {
reinterpret_cast<void **>(&variable))) {

int64_t value = (*variable)->value;

Expand All @@ -152,7 +151,7 @@ ERL_NIF_TERM put(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
}

if (enif_get_resource(env, argv[0], ATOMICS_RESOURCE_TYPE,
(void **)&variable)) {
reinterpret_cast<void **>(&variable))) {
atomic_int *v = *variable;

v->value.store(value);
Expand All @@ -167,7 +166,7 @@ ERL_NIF_TERM get(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
atomic_int **variable;

if (enif_get_resource(env, argv[0], ATOMICS_RESOURCE_TYPE,
(void **)&variable)) {
reinterpret_cast<void **>(&variable))) {
return enif_make_int64(env, (*variable)->value);
}

Expand Down

0 comments on commit fcd7dab

Please sign in to comment.