Skip to content

Commit fd032c2

Browse files
author
wulei
committed
refactor code
1 parent 7bcbcac commit fd032c2

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

c_src/elmdb_nif.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
#include "liblmdb/lmdb.h"
1111
#include "mylog.h"
1212

13+
#define SUBDB_NAME_SZ 64
14+
1315
#define CHECK(expr, label) \
1416
if (MDB_SUCCESS != (ret = (expr))) { \
1517
ERR_LOG("CHECK(\"%s\") failed \"%s(%d)\" at %s:%d in %s()\n", \
@@ -132,7 +134,7 @@ static void unload(ErlNifEnv* env, void* priv_data) {
132134
}
133135

134136
static ERL_NIF_TERM elmdb_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) {
135-
char dirname[128];
137+
char dirname[128] = {0};
136138
if (!enif_get_string(env, argv[0], dirname, sizeof(dirname), ERL_NIF_LATIN1)) {
137139
return enif_make_badarg(env);
138140
}
@@ -230,7 +232,7 @@ static ERL_NIF_TERM elmdb_drop(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv
230232
if (!enif_inspect_iolist_as_binary(env, argv[1], &layBin)) {
231233
return enif_make_badarg(env);
232234
}
233-
char dbname[128] = {0};
235+
char dbname[SUBDB_NAME_SZ] = {0};
234236
memcpy(dbname, layBin.data, layBin.size);
235237

236238
enif_rwlock_rlock(handle->layers_rwlock);
@@ -292,7 +294,7 @@ static ERL_NIF_TERM elmdb_put(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[
292294
CHECK(mdb_txn_begin(handle->env, NULL, 0, &txn), err1);
293295

294296
MDB_dbi dbi;
295-
char dbname[128] = {0};
297+
char dbname[SUBDB_NAME_SZ] = {0};
296298
memcpy(dbname, layBin.data, layBin.size);
297299

298300
enif_rwlock_rwlock(handle->layers_rwlock);
@@ -347,7 +349,7 @@ static ERL_NIF_TERM elmdb_get(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[
347349
return enif_make_badarg(env);
348350
}
349351

350-
char dbname[128] = {0};
352+
char dbname[SUBDB_NAME_SZ] = {0};
351353
memcpy(dbname, layBin.data, layBin.size);
352354
enif_rwlock_rlock(handle->layers_rwlock);
353355
bool exist = (kh_get(layer,handle->layers, dbname) != kh_end(handle->layers));
@@ -403,7 +405,7 @@ static ERL_NIF_TERM elmdb_del(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[
403405
return enif_make_badarg(env);
404406
}
405407

406-
char dbname[128] = {0};
408+
char dbname[SUBDB_NAME_SZ] = {0};
407409
memcpy(dbname, layBin.data, layBin.size);
408410
enif_rwlock_rlock(handle->layers_rwlock);
409411
bool exist = (kh_get(layer,handle->layers, dbname) != kh_end(handle->layers));
@@ -466,7 +468,7 @@ static ERL_NIF_TERM elmdb_to_map(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar
466468
if (!enif_inspect_iolist_as_binary(env, argv[1], &layBin)) {
467469
return enif_make_badarg(env);
468470
}
469-
char dbname[128] = {0};
471+
char dbname[SUBDB_NAME_SZ] = {0};
470472
memcpy(dbname, layBin.data, layBin.size);
471473

472474
enif_rwlock_rlock(handle->layers_rwlock);

0 commit comments

Comments
 (0)