diff --git a/generate/templates/partials/sync_function.cc b/generate/templates/partials/sync_function.cc index 136f8427c..eaca6480f 100644 --- a/generate/templates/partials/sync_function.cc +++ b/generate/templates/partials/sync_function.cc @@ -82,7 +82,7 @@ from_{{ arg.name }} {%each args|argsInfo as arg %} {%if arg | isOid %} if (args[{{ arg.jsArg }}]->IsString()) { - free(&from_{{ arg.name }}); + free((void *)from_{{ arg.name }}); } {%endif%} {%endeach%} diff --git a/test/tests/oid.js b/test/tests/oid.js index 8efcb12b4..7ec57631d 100644 --- a/test/tests/oid.js +++ b/test/tests/oid.js @@ -1,4 +1,6 @@ var assert = require("assert"); +var path = require("path"); +var local = path.join.bind(path, __dirname); describe("Oid", function() { var NodeGit = require("../../"); @@ -26,4 +28,19 @@ describe("Oid", function() { assert.equal(inspect, "[Oid " + oid + "]"); }); + + it("can convert strings to oids in parameters", function() { + return NodeGit.Repository.open(local("../repos/workdir")) + .then(function(repo) { + var revwalk = repo.createRevWalk(); + revwalk.sorting(NodeGit.Revwalk.SORT.TIME); + + revwalk.push(oid); + + return revwalk.getCommits(1); + }) + .then(function(commits) { + assert.equal(commits[0].toString(), oid); + }); + }); });