mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-02 18:53:22 +00:00
31 lines
740 B
Go
31 lines
740 B
Go
// 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)
|
|
}
|