>>230
こんな感じでいいのでは?
hogehoge($dst, $src) or error_happend();
のように呼び出す、と。

void
hogehoge(dst, src)
    SV* dst
    wchar_t* src
    PREINIT:
        size_t len;
        wchar_t *buffer;
    CODE:
        if (SvREADONLY(dst)) {
            XSRETURN_NO;
        }
        len = hogestrlen((unsigned char *) src);
        if ((buffer = malloc(len + 1)) == NULL) {
            XSRETURN_NO;
        }
        hogestrcpy((unsigned char *)buffer, (unsigned char *)src);
        sv_setpvn(dst, buffer, len);
        free(buffer);
        XSRETURN_YES;

#>229の(...)内は無視してね。perlgutsに駄目だとはっきり書いてあった。