Not pretty but if you are sure the array is zero-terminated, you can simply
cast it to the correct type:

C.GoString((C.char*)(&p.hostname))

(untested)


On Thu, Apr 30, 2020 at 1:06 PM Dean Schulze <dean.w.schu...@gmail.com>
wrote:

> That gives this error (which I've gotten with just about everything I try):
>
> cannot use &p.mach_name (type *[25]_Ctype_char) as type *_Ctype_char in
> argument to _Cfunc_GoString
>
> It seems to be the fixed length of the char[] that gives cgo a problem.
>
>
> On Thursday, April 30, 2020 at 1:46:34 PM UTC-6, Jan Mercl wrote:
>>
>> On Thu, Apr 30, 2020 at 8:17 PM Dean Schulze <dean.w...@gmail.com>
>> wrote:
>> >
>> > I must be missing something pretty simple, but I have a C struct like
>> this:
>> >
>> > typedef struct line
>> > {
>> >     char hostname[HOSTNAME_MAX];
>> >     char ip[IP_MAX];
>> >     ...
>> > }
>> >
>> > When I try to do the simple thing
>> >
>> > C.GoString(p.hostname)
>>
>> An array of a fixed size within a C struct is a value (the same as in
>> Go), but C.GoString expects a pointer to a C.char. Try
>> `C.GoString(&p.hostname)`.
>>
>> Not tested. Note that if hostname is not properly zero terminated,
>> your code will crash or misbehave.
>>
>> (Automatic array decay applies to C code, but not in Go.)
>>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/72d6cdaa-a6ca-4a60-b60a-a3a42de5d8d6%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/72d6cdaa-a6ca-4a60-b60a-a3a42de5d8d6%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAEd86TznujW8f9JkyiCaNky952Nhw8t77mg1Enjixiwb_e7itA%40mail.gmail.com.

Reply via email to