diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2016-06-27 10:22:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-27 10:22:36 +0200 |
commit | 808076af869550a200a3a544c9ee2fa22a8b6a85 (patch) | |
tree | a9f7c6478c099171d97072dd29c53264d53aad8c /cshared/README.md | |
parent | e305c47ed628770d99754207031b45bbb7a44517 (diff) | |
parent | da07dca4523ebd25c634152a62cae4a72eb5783f (diff) | |
download | go-git-808076af869550a200a3a544c9ee2fa22a8b6a85.tar.gz |
Merge pull request #56 from vmarkovtsev/master
Wrap more objects with CGo
Diffstat (limited to 'cshared/README.md')
-rw-r--r-- | cshared/README.md | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/cshared/README.md b/cshared/README.md index 51e424e..ea32b4b 100644 --- a/cshared/README.md +++ b/cshared/README.md @@ -72,8 +72,8 @@ and it is the responsibility of the other side to `free()` it or it will leak otherwise. Another tricky part is in `c_std_map_get_str_str` and similar places -where you need to return `*C.char` from an unaddressed array accessed under +where you need to return `*C.char` from an unaddressable array accessed under a pseudonym type through reflection. The only way I've found working -is using `reflect.Copy` to byte slice (copy) and then conversion to -`string` (copy), then `C.CString` (copy) and finally another (copy) on the -receiving side because the latter must be `free()`-d. Extremely efficient.
\ No newline at end of file +is using `reflect.Copy` to byte slice (copy), then `CBytes` (copy) and +finally another (copy) on the receiving side because the latter must be +`free()`-d.
\ No newline at end of file |