diff options
| author | Vicent Marti <[email protected]> | 2013-04-18 00:54:46 +0200 |
|---|---|---|
| committer | Vicent Marti <[email protected]> | 2013-04-18 00:54:46 +0200 |
| commit | 2bf17ba2f18ad3ae3068568e5754046544b159b7 (patch) | |
| tree | b1cf90f9969d54ea41e06d9930e23004c92c9f99 /blob.go | |
| parent | 7292cafac2d2c4462f3bc0b850e702d6d87f629e (diff) | |
Ok, now with shared base object
Diffstat (limited to 'blob.go')
| -rw-r--r-- | blob.go | 20 |
1 files changed, 3 insertions, 17 deletions
@@ -8,31 +8,17 @@ package git import "C" import ( "unsafe" - "runtime" ) type Blob struct { - ptr *C.git_blob + gitObject } -func (o *Blob) Id() *Oid { - return newOidFromC(C.git_blob_id(o.ptr)) -} - -func (o *Blob) Type() ObjectType { - return OBJ_BLOB -} - -func (o *Blob) Free() { - runtime.SetFinalizer(o, nil) - C.git_blob_free(o.ptr) -} - -func (v *Blob) Size() int64 { +func (v Blob) Size() int64 { return int64(C.git_blob_rawsize(v.ptr)) } -func (v *Blob) Contents() []byte { +func (v Blob) Contents() []byte { size := C.int(C.git_blob_rawsize(v.ptr)) buffer := unsafe.Pointer(C.git_blob_rawcontent(v.ptr)) return C.GoBytes(buffer, size) |
