Re: [Chicken-users] c-string-list gives segmentation violation

2018-01-03 Thread Evan Hanson

Hey David,

On 2018-01-04  8:23, David Ireland wrote:

Any suggestions would be appreciated.


You probably want something like this for return-c-string-list instead:

 (define return-c-string-list
   (foreign-lambda* c-string-list ()
 "const char* f[] = { NULL };"
 "C_return(f);"))

char** (a pointer to a char pointer) and char* f[] (an array of char
pointers) are different in a way that matters, here.

Cheers,

Evan

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] c-string-list gives segmentation violation

2018-01-03 Thread David Ireland
Hi,

I'm writing an egg for a C library. One C function returns a

*char ***
I thought the correct foreign type would be *c-string-list *however this
results in a segmentation violation when calling the function.

Here is a mock example code:







*(import foreign)(define return-c-string-list  (foreign-lambda*
c-string-list ()"const char** f = NULL;""C_return(f);"))*


*(return-c-string-list)*
Which gives me:






*Error: segmentation violationCall history:test.scm:8:
return-c-string-list  test.scm:4: ##sys#peek-c-string-list*
Any suggestions would be appreciated.

Thanks.
David
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users