Explorar el Código

Make sure we free our data made by C.CString. Also, updated cgo comments to multiline - seems to be preferred style

tags/v1.0.1
Donovan Jimenez hace 13 años
padre
commit
20aa6d93c3
Se han modificado 2 ficheros con 17 adiciones y 3 borrados
  1. +14
    -2
      converter.go
  2. +3
    -1
      iconv.go

+ 14
- 2
converter.go Ver fichero

@@ -1,6 +1,9 @@
package iconv

// #include <iconv.h>
/*
#include <iconv.h>
#include <stdlib.h>
*/
import "C"

import (
@@ -16,7 +19,16 @@ type Converter struct {
func NewConverter(fromEncoding string, toEncoding string) (converter *Converter, err Error) {
converter = new(Converter)

converter.context, err = C.iconv_open(C.CString(toEncoding), C.CString(fromEncoding))
// create C strings
toEncodingC := C.CString(toEncoding)
fromEncodingC := C.CString(fromEncoding)

// open an iconv descriptor
converter.context, err = C.iconv_open(toEncodingC, fromEncodingC)

// free the C Strings
C.free(unsafe.Pointer(toEncodingC))
C.free(unsafe.Pointer(fromEncodingC))

// check err
if err == nil {


+ 3
- 1
iconv.go Ver fichero

@@ -1,6 +1,8 @@
package iconv

// #include <errno.h>
/*
#include <errno.h>
*/
import "C"

import (


Cargando…
Cancelar
Guardar