свежий колорер, линукс

75 views
Skip to first unread message

Andrey Yakovlev

unread,
Dec 24, 2012, 4:00:50 PM12/24/12
to color...@googlegroups.com
столкнулся с проблемой: http://sourceforge.net/tracker/?func=detail&aid=2360079&group_id=34855&atid=413324
тут она помечена как исправленная, а где взять то?
пробовал собирать всякие бранчи из свн, но толи я не правильно это делаю, толи еще чего....
ткните носом плиз

также если скармливать колореру киррилицу в UTF-8 - портит букву "И":
d0 98 -> d0 00
какая всеже у него нативная кодировка? (пытался другие юникоды подсовывать - вообще все в хлам)

Igor Russkih

unread,
Dec 26, 2012, 2:45:43 AM12/26/12
to colorer_ru
Андрей, я так понимаю это проблема с переполнение стека..

До конца она поправлена в общем-то никогда не будет. Фикс был из серии "поглядеть сколько мы сьели стека, и если очень много то свалить". Возможно на linux он не так работает.

С unicode не очень понятно что у вас происходит. может вы входную кодировку неправильную задаете? Вроде не было никогда проблем таких..

  Igor


2012/12/25 Andrey Yakovlev <wd....@gmail.com>

Aleksey Dobrunov

unread,
Dec 26, 2012, 3:01:31 AM12/26/12
to color...@googlegroups.com
Приветствую.
я так понимаю речь идет об эклипсе?
ситуация со стеком такова - первый раз её правили грубым хаком, который не всегда работал. второй раз я уже поправил основательно, избавившись от рекурсии. так вот в плагин для эклипса я не помню какой вариант вошел.
в праздники, я думаю, у меня дойдут руки и я пересоберу плагин для эклипса (вроде жаловались на работу с памятью) и заодно проверю. опять же нужен файл пример. или хотя бы его тип и размер строки максимальный.


26 декабря 2012 г., 13:45 пользователь Igor Russkih <irus...@gmail.com> написал:

Igor Russkih

unread,
Dec 27, 2012, 3:03:38 AM12/27/12
to colorer_ru
Гм, в эклипсе у меня с файликом из того теста все хорошо.

Человек я так понял собирает консольную тулу colorer, и именно она валится.

Надо тест кейс на котором валится..

  Igor


2012/12/26 Aleksey Dobrunov <cta...@gmail.com>

Andrey Yakovlev

unread,
Jan 4, 2013, 5:38:44 PM1/4/13
to color...@googlegroups.com
да, именно консольная валится
причем если файл сдать параметром - то все ок, а если в stdin затолкать - то сигфолтится
в частности с тем test.cs

по поводу кодировки - я ее както вообще не указывал
указал - все ок

четверг, 27 декабря 2012 г., 12:03:38 UTC+4 пользователь cail написал:

Andrey Yakovlev

unread,
Jan 4, 2013, 6:11:40 PM1/4/13
to color...@googlegroups.com
порылся в коде...

  if (fileName == null){
    char line[256];
    while(gets(line) != null){

собственно вот вся беда :)
TextLinesStore::loadFile

Andrey Yakovlev

unread,
Jan 4, 2013, 6:15:14 PM1/4/13
to color...@googlegroups.com
BUGS
       Never use gets().  Because it is impossible to tell without knowing the data in advance how many characters gets() will read, and because gets() will continue to store characters past the end of the buffer,
       it is extremely dangerous to use.  It has been used to break computer security.  Use fgets() instead.

Andrey Yakovlev

unread,
Jan 4, 2013, 7:21:13 PM1/4/13
to color...@googlegroups.com
ну блин...
-eiutf-8 в случае файла проблему решает
а в случае stdin все портит

Igor Russkih

unread,
Jan 7, 2013, 8:43:10 AM1/7/13
to color...@googlegroups.com

Андрей, спасибо что разобрались. Но быстрее будет если патч сами сделаете.. консольным колорером мало кто пользуется.. .

05.01.2013 4:21 пользователь "Andrey Yakovlev" <wd....@gmail.com> написал:

Andrey Yakovlev

unread,
Jan 8, 2013, 1:52:32 AM1/8/13
to color...@googlegroups.com
ну я конечно попробую...
проблему с переполнением то решил очень грубо - char line[256000] - но меня это более чем устраивает - более 100к туда не должно влетать всеравно
а в с кодировкой - я просто в плюсах не шибко, и не очень глубоко врубился в эти SString, DString
пытался добавить проброс кодировки в SString - уж не помню точно какая именно гадость вылезла, но ничего хорошего
пытался добавить в него еще один конструктор с wchar - на банальном "йцу" все ок, правда если сказать -eiutf-16 (хотя по факту utf-8 конечно)
но с более сложным текстом - непонятки жудкие
как вообще правильно туда скормить utf8?
и в чем вообще проблема у ветки вычитывания файла - что ей мешает stdin уметь жрать? я так заметил там длина разве что может нужна...

понедельник, 7 января 2013 г., 17:43:10 UTC+4 пользователь cail написал:
Reply all
Reply to author
Forward
0 new messages