Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions pointer.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ func Save(v interface{}) unsafe.Pointer {
return nil
}

// Generate real fake C pointer.
// This pointer will not store any data, but will bi used for indexing purposes.
// Since Go doest allow to cast dangling pointer to unsafe.Pointer, we do rally allocate one byte.
// Why we need indexing, because Go doest allow C code to store pointers to Go data.
// Generates a real fake C pointer.
// The pointer won't store any data but will be used for indexing purposes.
// Since Go doesn't allow casting of a dangling pointer to "unsafe.Pointer", we instead allocate a byte.
// Indexing is necessary because Go doesn't allow C code to store pointers to Go data.
var ptr unsafe.Pointer = C.malloc(C.size_t(1))
if ptr == nil {
panic("can't allocate 'cgo-pointer hack index pointer': ptr == nil")
Expand Down