Adds documentation and reformats names

This commit is contained in:
2022-01-14 14:58:59 +01:00
parent 4d2fb8a781
commit 236c7277e0
2 changed files with 15 additions and 0 deletions

View File

@ -7,6 +7,13 @@ import (
"unsafe"
)
// ByteSlice builds a byte Slice over a C pointer returned by a
// C function.
// The C pointer has to be passed as an unsafe.Pointer
// and the size of the pointed memery area has to be
// indicated through the size parameter.
// No memory allocation is done by that function. It
// just consists in mapping a Go object too a C one.
func ByteSlice(pointer unsafe.Pointer, size int) []byte {
var s []byte

View File

@ -5,14 +5,21 @@ import (
"encoding/gob"
)
// NotAnInteger defines a new type of Error : "NotAnInteger"
type NotAnInteger struct {
message string
}
// Error() retreives the error message associated to the "NotAnInteger"
// error. Tha addition of that Error message make the "NotAnInteger"
// complying with the error interface
func (m *NotAnInteger) Error() string {
return m.message
}
// InterfaceToInt converts a interface{} to an integer value if possible.
// If not a "NotAnInteger" error is returned via the err
// return value and val is set to 0.
func InterfaceToInt(i interface{}) (val int, err error) {
err = nil
@ -47,6 +54,7 @@ func InterfaceToInt(i interface{}) (val int, err error) {
return
}
// CopyMap makes a deep copy of a map[string]interface{}.
func CopyMap(dest, src map[string]interface{}) {
buf := new(bytes.Buffer)
gob.NewEncoder(buf).Encode(src)