[Moscow.pm] Perl XS: Как записать unsigned char* в SV*

Nikita Aznauryan nikita-aznaourian на yandex.ru
Ср Сен 29 02:06:27 PDT 2010



29.09.2010, 12:54, "Dmitry Karasik" <dmitry на karasik.eu.org>:
> On Wed, Sep 29, 2010 at 12:38:26PM +0400, Nikita Aznauryan wrote:
>
>>  Есть функция которая принимает const unsigned char* - строку в utf8.
>>
>>  Я хочу ее записать в указатель на скаляр SV*. Как это сделать ?
>>
>>  newSVpvn как для char* не работает...
>
> то есть не работает?
> sv = newSVpvn((char*)ptr, 42)
> или всмысле что хочется SvUTF8_on(sv)?
>
> --
> Sincerely,
> Dmitry Karasik
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org


(char*)ptr - разве так делать можно? То есть задача стоит так: в функцию приходит unsigned char* , эту строку нужно записать в хеш и отдать в перл. При этом насколько я понимаю (char*)ptr испортит строку. Разве нет??


Подробная информация о списке рассылки Moscow-pm