gemelen: (Sphere)
[personal profile] gemelen
Речь о 'некорректной работе mbstowcs'.

Выдержка из мана:
RETURN VALUE
     The mbstowcs() function returns the number of wide characters that make up the converted part of the wide-character string, not including the terminating null wide character. If an invalid multibyte sequence was encountered, (size_t) -1 is returned.

Часть разговора в irc:

< Woland> lsm: возвращает 0
< Woland> lsm: что означает, что ошибки нет, но он ничего не сконвертил
< wRAR> The mbstowcs() function returns the number of wide characters that make up the converted part of the wide-character string
< gemelen> Return Value
< gemelen> The number of characters translated ...
< Woland> lsm: что знаю? что он 0 вернул? :+)
< lsm> а код где?
< Woland> в... гхм
< lsm> ыыы
< Woland> чо, нет идей?
< gemelen> код наде
< Woland> ща
< lsm> к тому же, ман говорит что надобен LC_CTYPE
< lsm> поинтересуйся какой там LC_CTYPE в момент конвертации
< Woland> эмм.. ну, он у меня выставлен
< Woland> ладно, этого хватит, по идее:
< Woland> 108      ssize_t hreflen = mbstowcs(NULL, atts[i + 1], 0) + 1;
< Woland> 109      wchar_t *href = malloc(hreflen * sizeof(wchar_t));
< Woland> 110      int res = mbstowcs(href, atts[i + 1], hreflen);
< Woland> atts[i + 1] на тот момент равен //сервер.ру/и_типо_путь/тоже_ру
< wRAR> и в hreflen 0?
< Woland> да. с полностью семибитными строками всё работает замечательно
< lsm> а ты вставь соотв. принтфы в промежутках
< gemelen> -1 + 1 ? :)
< wRAR> ыыы
< Woland> бля
< wRAR> ЫЫЫЫЫЫЫЫЫЫЫЫ
< Woland> ёбанарот
< wRAR> АААААААААААААААААА
< Woland> это всё ман
< gemelen> эталол
< Woland> жёстко

Profile

gemelen: (Default)
gemelen

June 2025

M T W T F S S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 9th, 2026 04:55
Powered by Dreamwidth Studios