EditWYSIWYGAttachPrintable
r9 - 14 Oct 2004 - 19:31:00 - OrloVYou are here: TWiki >  Refaldevel Web > BugsAndArrearage

Ошибки и недоделки

Escape C++ trigraphs.

Пример:
<PrintLN "Quote: 'To be or not???'">;
Работать не будет (не должно - проверить!), потому что последовательность символов ??' имеет в С++ особый смысл -- заменяется на некий одиночный символ. В результате будет напечатано не то, что требовалось.

-- OrloV - 14 Oct 2004

Encoding of refal source.

Необходим способ указать, в какой кодировке написан тот или иной рефал-файл, или даже его часть. Например, сейчас невозможно скомпилировать файл rfp_const.rf, если текущая локаль отлична KOI8-R. Он содержит русские комментарии, и парсер на них ломается.

-- OrloV - 21 Jul 2004

Binding for the system() C function.

Требуется функция System, которая раньше была в модуле Uni Std? .

-- OrloV - 12 Jul 2004

Write/Read статических объектов (в процессе реализации).

-- Sv Ponomareva - 26 Feb 2004

Исправленные ошибки и доделанные фичи

Segfault with UTF-8 locale

Если при запуске программы, скомпилированной с новым рантаймом, локаль выставлена в UTF-8, то происходит segfault внутри glibc-шной функции mbstowcs() на стадии заведения глобальных объектов.

-- OrloV - 12 Jul 2004

Сбой происходил при попытке сконвертировать строку обычных символов в уникод. Дело в том, что бывают такие (мультибайтные) символы, конвертация которых происходит в несколько этапов. Для передачи состояния от одного этапа к другому используется вспомогательная переменная типа mbstate_t. Эта переменная (назовём её state) у нас не инициализировалась, т.е. изначально содержала некий мусор. Иногда этот мусор заставлял думать функцию, осуществляющую непосредственно конвертацию, что она находится в неком промежуточном состоянии при обработке какого-нибудь мультибайтного символа. Это и приводило к падению.

После добавления инициализации состояния нулями:

memset(&state, '\0', sizeof(mbstate_t));
глюки исчезли.

-- OrloV - 21 Jul 2004

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r13 | r11 < r10 < r9 < r8 | More topic actions...
 
R+

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback