// Copyright 2013 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // API Compatibility Checks for cgo package cgotest // #include <stdlib.h> // // // Test for issue 17723. // typedef char *cstring_pointer; // static void cstring_pointer_fun(cstring_pointer dummy) { } // // const char *api_hello = "hello!"; import "C" import "unsafe" func testAPI() { var cs *C.char cs = C.CString("hello") defer C.free(unsafe.Pointer(cs)) var s string s = C.GoString((*C.char)(C.api_hello)) s = C.GoStringN((*C.char)(C.api_hello), C.int(6)) var b []byte b = C.GoBytes(unsafe.Pointer(C.api_hello), C.int(6)) _, _ = s, b C.cstring_pointer_fun(nil) }