Adjust to libgit2 v0.23
This commit is contained in:
@@ -125,21 +125,24 @@ geef_config_get_string(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[])
|
|||||||
{
|
{
|
||||||
geef_config *cfg;
|
geef_config *cfg;
|
||||||
ErlNifBinary bin, result;
|
ErlNifBinary bin, result;
|
||||||
|
git_buf buf = { 0 };
|
||||||
int error;
|
int error;
|
||||||
const char *val;
|
|
||||||
ERL_NIF_TERM ret;
|
ERL_NIF_TERM ret;
|
||||||
|
|
||||||
ret = extract(&cfg, &bin, env, argv);
|
ret = extract(&cfg, &bin, env, argv);
|
||||||
if (ret != atoms.ok)
|
if (ret != atoms.ok)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
error = git_config_get_string(&val, cfg->config, (char *) bin.data);
|
error = git_config_get_string_buf(&buf, cfg->config, (char *) bin.data);
|
||||||
enif_release_binary(&bin);
|
enif_release_binary(&bin);
|
||||||
|
|
||||||
if (error < 0)
|
if (error < 0)
|
||||||
return geef_error(env);
|
return geef_error(env);
|
||||||
|
|
||||||
if (geef_string_to_bin(&result, val) < 0)
|
error = geef_string_to_bin(&result, buf.ptr);
|
||||||
|
git_buf_free(&buf);
|
||||||
|
|
||||||
|
if (error < 0)
|
||||||
return geef_error(env);
|
return geef_error(env);
|
||||||
|
|
||||||
return enif_make_tuple2(env, atoms.ok, enif_make_binary(env, &result));
|
return enif_make_tuple2(env, atoms.ok, enif_make_binary(env, &result));
|
||||||
|
|||||||
@@ -111,11 +111,11 @@ geef_index_add(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[])
|
|||||||
memset(&entry, 0, sizeof(entry));
|
memset(&entry, 0, sizeof(entry));
|
||||||
|
|
||||||
if (enif_compare(eentry[1], atoms.undefined) &&
|
if (enif_compare(eentry[1], atoms.undefined) &&
|
||||||
!enif_get_int64(env, eentry[1], &entry.ctime.seconds))
|
!enif_get_int(env, eentry[1], &entry.ctime.seconds))
|
||||||
return enif_make_badarg(env);
|
return enif_make_badarg(env);
|
||||||
|
|
||||||
if (enif_compare(eentry[2], atoms.undefined) &&
|
if (enif_compare(eentry[2], atoms.undefined) &&
|
||||||
!enif_get_int64(env, eentry[2], &entry.mtime.seconds))
|
!enif_get_int(env, eentry[2], &entry.mtime.seconds))
|
||||||
return enif_make_badarg(env);
|
return enif_make_badarg(env);
|
||||||
|
|
||||||
if (enif_compare(eentry[3], atoms.undefined) &&
|
if (enif_compare(eentry[3], atoms.undefined) &&
|
||||||
@@ -137,7 +137,7 @@ geef_index_add(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[])
|
|||||||
!enif_get_uint(env, eentry[7], &entry.gid))
|
!enif_get_uint(env, eentry[7], &entry.gid))
|
||||||
return enif_make_badarg(env);
|
return enif_make_badarg(env);
|
||||||
|
|
||||||
if (!enif_get_int64(env, eentry[8], &entry.file_size))
|
if (!enif_get_uint(env, eentry[8], &entry.file_size))
|
||||||
return enif_make_badarg(env);
|
return enif_make_badarg(env);
|
||||||
|
|
||||||
/* [9] comes later */
|
/* [9] comes later */
|
||||||
|
|||||||
@@ -396,13 +396,13 @@ geef_reference_create(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[])
|
|||||||
pname = (const char *) name.data;
|
pname = (const char *) name.data;
|
||||||
if (enif_is_identical(argv[2], atoms.oid)) {
|
if (enif_is_identical(argv[2], atoms.oid)) {
|
||||||
const git_oid *oid = (const git_oid *) target.data;
|
const git_oid *oid = (const git_oid *) target.data;
|
||||||
error = git_reference_create(&ref, repo->repo, pname, oid, force, NULL, NULL);
|
error = git_reference_create(&ref, repo->repo, pname, oid, force, NULL);
|
||||||
} else if (enif_is_identical(argv[2], atoms.symbolic)) {
|
} else if (enif_is_identical(argv[2], atoms.symbolic)) {
|
||||||
if (!geef_terminate_binary(&target))
|
if (!geef_terminate_binary(&target))
|
||||||
return geef_oom(env);
|
return geef_oom(env);
|
||||||
|
|
||||||
ptarget = (const char *) target.data;
|
ptarget = (const char *) target.data;
|
||||||
error = git_reference_symbolic_create(&ref, repo->repo, pname, ptarget, force, NULL, NULL);
|
error = git_reference_symbolic_create(&ref, repo->repo, pname, ptarget, force, NULL);
|
||||||
enif_release_binary(&target);
|
enif_release_binary(&target);
|
||||||
} else {
|
} else {
|
||||||
enif_release_binary(&target);
|
enif_release_binary(&target);
|
||||||
|
|||||||
Reference in New Issue
Block a user