Keep the reference name as part of the record

This commit is contained in:
Carlos Martín Nieto
2013-05-13 11:46:07 +02:00
parent dfdb4cbb54
commit 604388a76d
6 changed files with 46 additions and 9 deletions

View File

@@ -230,6 +230,28 @@ geef_reference_type(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[])
return term_type;
}
ERL_NIF_TERM
geef_reference_name(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[])
{
geef_ref *ref;
const char *name;
ErlNifBinary bin;
size_t len;
if (!enif_get_resource(env, argv[0], geef_ref_type, (void **) &ref))
return enif_make_badarg(env);
name = git_reference_name(ref->ref);
len = strlen(name);
if (enif_alloc_binary(len, &bin) < 0)
return geef_oom(env);
memcpy(bin.data, name, len + 1);
return enif_make_binary(env, &bin);
}
ERL_NIF_TERM
geef_reference_create(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[])
{