Code: Select all
tuples[0] = "foo";
tuples[1] = "bar";
tuples[2] = NULL;
Code: Select all
(setf packed (pack "s4 s4 s1" "foo" "bar" ""))
Code: Select all
tuples[0] = "foo";
tuples[1] = "bar";
tuples[2] = NULL;
Code: Select all
(setf packed (pack "s4 s4 s1" "foo" "bar" ""))
Code: Select all
> (setf packed (pack "s4 s4 s1" "foo" "bar" ""))
"foo\000bar\000\000"
>
Code: Select all
(setq packed "foo\000bar\000\000") ; 3 digit decimals
(setq packed "foo\x00bar\x00\x00") ; or 2 digit hex
Code: Select all
(setq packed (pack "lu lu lu" "foo" "bar" 0))
Code: Select all
(setq str-array '("foo" "bar" 0))
(set 'packed (pack "lu lu lu" str-array))
Code: Select all
(set 'packed (pack "lu lu lu" str-array))
Code: Select all
#include <stdio.h>
void showStrings(char * * params)
{
while(*params != NULL)
printf("->%s\n", *params++);
}
Code: Select all
gcc -bundle test.c -o test.dylib
Code: Select all
> (import "test.dylib" "showStrings")
showStrings <AFFBE>
> (setq sarray '("foo" "bar" 0))
("foo" "bar" 0)
> (showStrings (pack "lu lu lu" sarray))
-> foo
-> bar
0
>