From 0c86149cc1c7b01e0a6abbab1b96a56f765f021d Mon Sep 17 00:00:00 2001 From: Steve Smith Date: Tue, 24 Feb 2015 12:09:32 -0500 Subject: [PATCH 1/3] Allow for constructors without specific INIT methods. --- generate/input/descriptor.json | 3 ++- generate/templates/templates/struct_content.cc | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/generate/input/descriptor.json b/generate/input/descriptor.json index c6ca429f7..5cfc89b34 100644 --- a/generate/input/descriptor.json +++ b/generate/input/descriptor.json @@ -846,7 +846,8 @@ ] }, "index_entry": { - "ignore": false + "hasConstructor": true, + "ignoreInit": true }, "indexer": { "cType": "git_indexer", diff --git a/generate/templates/templates/struct_content.cc b/generate/templates/templates/struct_content.cc index 40a343ae5..64b4dd628 100644 --- a/generate/templates/templates/struct_content.cc +++ b/generate/templates/templates/struct_content.cc @@ -26,7 +26,11 @@ using namespace std; // generated from struct_content.cc {{ cppClassName }}::{{ cppClassName }}() { + {% if ignoreInit == true %} + {{ cType }}* wrappedValue = new {{ cType }}; + {% else %} {{ cType }} wrappedValue = {{ cType|upper }}_INIT; + {% endif %} this->raw = ({{ cType }}*) malloc(sizeof({{ cType }})); memcpy(this->raw, &wrappedValue, sizeof({{ cType }})); From 2b1a67470e06037ef6e56506927e84a73a7af0d7 Mon Sep 17 00:00:00 2001 From: Steve Smith Date: Tue, 24 Feb 2015 12:10:10 -0500 Subject: [PATCH 2/3] Fix Blob.createFromBuffer and Repo#createBlobFromBuffer --- generate/input/descriptor.json | 4 ++++ lib/repository.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/generate/input/descriptor.json b/generate/input/descriptor.json index 5cfc89b34..768a9b5a6 100644 --- a/generate/input/descriptor.json +++ b/generate/input/descriptor.json @@ -114,7 +114,11 @@ "blob": { "functions": { "git_blob_create_frombuffer": { + "isAsync": false, "args": { + "id": { + "isReturn": true + }, "buffer": { "cppClassName": "Buffer", "jsClassName": "Buffer" diff --git a/lib/repository.js b/lib/repository.js index 07e5fd252..4034ca458 100644 --- a/lib/repository.js +++ b/lib/repository.js @@ -457,7 +457,7 @@ Repository.prototype.createCommitOnHead = function( * @return {Blob} */ Repository.prototype.createBlobFromBuffer = function(buffer, callback) { - return Blob.createFrombuffer.call(this, buffer, buffer.length, callback); + return Blob.createFromBuffer(this, buffer, buffer.length, callback); }; /** From ff7c15d9b2a87586d84bd6cd130b6ee01590277a Mon Sep 17 00:00:00 2001 From: Steve Smith Date: Tue, 24 Feb 2015 12:44:57 -0500 Subject: [PATCH 3/3] Fix index tests since indexEntry is a struct and not a class --- test/tests/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/tests/index.js b/test/tests/index.js index 4521a2d72..7b29e2d89 100644 --- a/test/tests/index.js +++ b/test/tests/index.js @@ -34,7 +34,7 @@ describe("Index", function() { it("can get the index of a repo and examine entries", function() { var entries = this.index.entries(); - assert.equal(entries[0].path(), ".gitignore"); + assert.equal(entries[0].path, ".gitignore"); }); it("can add all entries to the index", function() { @@ -56,7 +56,7 @@ describe("Index", function() { }) .then(function() { var newFiles = index.entries().filter(function(entry) { - return ~fileNames.indexOf(entry.path()); + return ~fileNames.indexOf(entry.path); }); assert.equal(newFiles.length, 2); @@ -91,7 +91,7 @@ describe("Index", function() { }) .then(function() { var newFiles = index.entries().filter(function(entry) { - return ~fileNames.indexOf(entry.path()); + return ~fileNames.indexOf(entry.path); }); assert.equal(newFiles.length, 3); @@ -100,7 +100,7 @@ describe("Index", function() { }) .then(function() { var newFiles = index.entries().filter(function(entry) { - return ~fileNames.indexOf(entry.path()); + return ~fileNames.indexOf(entry.path); }); assert.equal(newFiles.length, 1); @@ -134,7 +134,7 @@ describe("Index", function() { }) .then(function() { var newFiles = index.entries().filter(function(entry) { - return ~fileNames.indexOf(entry.path()); + return ~fileNames.indexOf(entry.path); }); assert.equal(newFiles.length, 2); @@ -146,7 +146,7 @@ describe("Index", function() { }) .then(function() { var newFiles = index.entries().filter(function(entry) { - return ~fileNames.indexOf(entry.path()); + return ~fileNames.indexOf(entry.path); }); assert.equal(newFiles.length, 1);