Size: a a a

2021 February 17

СГ

Сергей Горячев... in OpenBSD
источник

A

Alex in OpenBSD
Хорошая программа, и pledge-м защищена.


GitHub показывает процент использования языков программирования в системе OpenBSD (https://github.com/openbsd/src):

C 62.9%   C++ 22.6%

O_o

Раньше считал, что доля языка C выше, а C++ ниже.
источник
2021 February 18

AK

Artsiom Karakin in OpenBSD
Ну так а компилятор же на Си плюс плюс написан
источник

AK

Artsiom Karakin in OpenBSD
Мне кажется, они часто что-либо чем-то линуксовым делают. В то время как на сабже люди держаться в пределах POSIX2013
источник

AK

Artsiom Karakin in OpenBSD
Отвечая на свой вопрос, для начала это:
http://man.openbsd.org/man8/pfctl.8#S
http://man.openbsd.org/man8/pfctl.8#L
источник

АК

Александр Кузубов... in OpenBSD
Та нормально там все с синтаксисом, на оборот удобнее сделали не нужно интерфейс указывать, пущай сам разруливает.
источник

A

Alex in OpenBSD
Привет.
Вопрос о программировании в OpenBSD.
Если бы стояла задача написать на языке Си интерактивную программу с интерфейсом командной строки (как у инсталятора OpenBSD), какую функцию вы бы применяли, чтобы считать с клавиатуры строку символов?
источник

c

cat -v in OpenBSD
scanf
источник

AK

Artsiom Karakin in OpenBSD
А что за символы ? Символы можно считывать и через getchar. А в OpenBSD есть ряд специальных функций на разные вещи. Пример http://man.openbsd.org/readpassphrase.3
источник

AK

Artsiom Karakin in OpenBSD
Есть постандартнее для ввода строк (lines) getline(3) и fgets(3) соответственно. В книге GNU C вторую называли заброшенной как и gets(3). Вот её точно не надо  https://cwe.mitre.org/data/definitions/242.html
источник

AK

Artsiom Karakin in OpenBSD
Ещё есть curses в базовой системе, если нужны менюшки в терминале
источник

AK

Artsiom Karakin in OpenBSD
Если как у инсталлятора, то надо смотреть код инсталятора в конце концов
источник

A

Alex in OpenBSD
Артём, спасибо за развернутый ответ!

Сегодня читал исходники OpenBSD и видел обращение к readpassphrase(). Надо будет почитать код этой функции.

В некоторых местах исходных текстов OpenBSD строка считывалась посимвольно в цикле.
источник

AK

Artsiom Karakin in OpenBSD
Пожалуйста, если мой ответ показался вам хорошим, то я рад
источник

A

Alex in OpenBSD
POSIX getline() портабельна, но ее недостаток, на мой взгляд, в том, что можно заставить функцию читать строку очень большой длины.
источник

AK

Artsiom Karakin in OpenBSD
Ну, да, но там же вроде для размера выделенной под строку памяти есть size_t перемененная и можно  проверять. Звучит костыльно, но всё таки
Или можно в getdelim поставить пробел разделителем.
источник

AK

Artsiom Karakin in OpenBSD
Но не нужно
источник

A

Alex in OpenBSD
В книге GNU C называли функцию fgets() заброшенной, и не рекомендовали ее к использованию?
источник

AK

Artsiom Karakin in OpenBSD
Потому что так, мне кажется ещё костыльнее
источник

AK

Artsiom Karakin in OpenBSD
Да, у меня нет сейчас скриншота, поэтому подтвердить не смогу, но вот после 24 февраля смогу скинуть. На книгу наткнулся на iso-9899.info
источник