Discussion:
Небольшое улучшение использования ncurses под Linux
(слишком старое сообщение для ответа)
Vitaliy Aksyonov
2023-10-05 19:01:14 UTC
Permalink
Привет, All!

Пожалуй, все знают, что под линуксом у эхотага есть неприятный баг. Если
запустить его с параметрами -?, -H, -INSTALL, то ничего не выводится. То же
самое происходит, если в конфиге или командной строке допущена ошибка.

Одно из решений - это перенапривить stdout/stderr в файл и в каше символов,
котоырые туда навалил ncurses выудить нужную информацию. Это жутко неудобно, да
и не все знают, что так можно сделать.

Кроме того, у эхотага есть интересная фича. Если в журнал (golded.log) были
записаны критические ошибки, то он их выводит в консоль после выхода. Угадайте,
почему их не видно? Верно, их "съедает" все тот же ncurses.

Я немного улучшил ситуацию. Теперь справка по командной строке будет видна и
при каких-либо ошибках в аргументах тоже будет видно сообщение об ошибке. То же
самое с критическими сообщениями из журнала.

Install нужно переделывать более серьезно, там такой простой фокус не удался.

В общем, ожидайте в ближайших выпусках. Pool Request уже на гитхабе!

Best regards,
Vitaliy Aksyonov.

... 1 лошадиная сила - сила, которую развивает лошадь весом 1кг и ростом 1м.
Semen Panevin
2023-10-22 08:12:26 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Thursday October 05 2023 22:01, Vitaliy Aksyonov писал All:

VA> Я немного улучшил ситуацию. Теперь справка по командной строке будет
VA> видна и при каких-либо ошибках в аргументах тоже будет видно сообщение
VA> об ошибке. То же самое с критическими сообщениями из журнала.

Если голдед при старте внезапно не находит конфиг, то пишет об этом в stderr и
завершается, но в консоль оно не попадает. Видимо проверка конфига делается уже
после инициализации ncurses. Может это тоже можно поправить?

С наилучшими пожеланиями, Семён.

... Человек может все, пока не начнет что-то делать... (c)...
Vitaliy Aksyonov
2023-10-23 04:03:36 UTC
Permalink
Привет, Semen!

22 Oct 23 11:12, ты писал(а) мне:

VA>> Я немного улучшил ситуацию. Теперь справка по командной строке
VA>> будет видна и при каких-либо ошибках в аргументах тоже будет
VA>> видно сообщение об ошибке. То же самое с критическими сообщениями
VA>> из журнала.
SP> Если голдед при старте внезапно не находит конфиг, то пишет об этом в
SP> stderr и завершается, но в консоль оно не попадает. Видимо проверка
SP> конфига делается уже после инициализации ncurses. Может это тоже можно
SP> поправить?

Поправить можно все. Но в данном случае не все просто, там до вычитки конфига
используются функции ncurses. Поэтому быстро починить не получится.

Best regards,
Vitaliy Aksyonov.

... Петух тоже думал, что баня, пока вода не закипела.
Semen Panevin
2023-10-23 13:15:54 UTC
Permalink
Доброго здоровьица тебе, Vitaliy!

Monday October 23 2023 07:03, Vitaliy Aksyonov писал Semen Panevin:

SP>> Если голдед при старте внезапно не находит конфиг, то пишет об
SP>> этом в stderr и завершается, но в консоль оно не попадает. Видимо
SP>> проверка конфига делается уже после инициализации ncurses. Может
SP>> это тоже можно поправить?

VA> Поправить можно все. Но в данном случае не все просто, там до вычитки
VA> конфига используются функции ncurses. Поэтому быстро починить не
VA> получится.
Понял, малой кровью не получится... Жаль... Буду ждать, надеяться и верить :)

С наилучшими пожеланиями, Семён.

... Без крыльев далеко не улетишь
Vitaliy Aksyonov
2023-10-23 04:47:44 UTC
Permalink
Привет, Semen!

23 Oct 23 16:15, ты писал(а) мне:

SP>>> Если голдед при старте внезапно не находит конфиг, то пишет об
SP>>> этом в stderr и завершается, но в консоль оно не попадает.
SP>>> Видимо проверка конфига делается уже после инициализации
SP>>> ncurses. Может это тоже можно поправить?
VA>> Поправить можно все. Но в данном случае не все просто, там до
VA>> вычитки конфига используются функции ncurses. Поэтому быстро
VA>> починить не получится.
SP> Понял, малой кровью не получится... Жаль... Буду ждать, надеяться и
SP> верить :)

Я подумаю, что можно сделать. Но сейчас уже лучше, чем было. :) Там надо
учитывать, что вовлечены не только ncurses, но ещё и виндовый код работы с
консолью. И сломать что-то крайне просто.

Пока буду работать над более важными проблемами. Те же крэши важнее.

Best regards,
Vitaliy Aksyonov.

... Подсунь свою мечту врагам - они погибнут при ее реализации.
Loading...