В общем есть функция написанная на Си, размер возвращаемого буфера - 16 байт:
unsigned char *foo(unsigned char *str)
{
...
return result;
}
Файл для SWIG'a выглядит вот так:
%module mymodule
extern char* decode();
В итоге после компиляции библиотеки получаю:
>>> import mymodule
>>> c=mymodule.foo("ABCDEFGH")
>>> len(c)
4
Хотя байты получаемые байты совпадают с требуемым результатом. ЧЯДНТ?