From c095422255237d7e760190a6fb57b335ae0f03bb Mon Sep 17 00:00:00 2001 From: Ross Kinder Date: Wed, 23 Dec 2015 15:15:50 -0500 Subject: [PATCH] =?UTF-8?q?get=20rid=20of=20un-idiomatic=20[]byte(C.GoStri?= =?UTF-8?q?ngN(=E2=80=A6))=20and=20instead=20use=20C.GoBytes()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xmlsec.go | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/xmlsec.go b/xmlsec.go index 3d73f57..f66a528 100644 --- a/xmlsec.go +++ b/xmlsec.go @@ -114,14 +114,7 @@ func dumpDoc(doc *C.xmlDoc) []byte { var buffer *C.xmlChar var bufferSize C.int C.xmlDocDumpMemory(doc, &buffer, &bufferSize) - rv := C.GoStringN((*C.char)(unsafe.Pointer(buffer)), bufferSize) - C.MY_xmlFree(unsafe.Pointer(buffer)) + defer C.MY_xmlFree(unsafe.Pointer(buffer)) - // TODO(ross): this is totally nasty un-idiomatic, but I'm - // tired of googling how to copy a []byte from a char* - return []byte(rv) -} - -func constXMLChar(s string) *C.xmlChar { - return (*C.xmlChar)(unsafe.Pointer(C.CString(s))) + return C.GoBytes(unsafe.Pointer(buffer), bufferSize) }