Evgenii
дак никто про везде и не говорит. Закроют поддержку и кто хочет пусть занимается некрофилией дальше
Evgenii
переписывание с 2 на 3 занимает редко больше часа на KLOC
Danil
есть же 2to3
Danil
ОНО ДАЖЕ РАБОТАЕТ НА ВЫХОДЕ
Александр
Vladislav
🦥Alex Fails
да, эпик грабли.тут при рефакторе сишного проекта, когда перенес макрос свой, напоролся на это 😂
Vladislav
ну, sizeof(base types) - основы как бы
🦥Alex Fails
люблю плюснутую версию этого макро, она в шаблон превращается
Александр
Да основы-то понятно, но это одна из типичных ошибок. Раз человек спрашивает про динамические массивы, наверняка он указатель гоняет. И наверняка попробует найти размер массива вторым способом (ну ведь самый простой на вид!)
Vladislav
он не спрашивал про динамические
Vladislav
в си вообще много мест где легко прострелить себе оба колена
Vladislav
в частности строки кодировать, определяя их по-человечьи "...", а не { '.', '.', ... }
🦥Alex Fails
Антон же пилит уже, не?
Vladislav
в pure c? :)
🦥Alex Fails
в чистом си не получится, к сожаленью. там чот со стандартизацией туго
🦥Alex Fails
здесь микс
Vladislav
извиняю 😀
🦥Alex Fails
Danil
А чем fixed_string не нравится?
🦥Alex Fails
Черновик технического отчета (TR) от ISO по избежанию программных уязвимостей в языке Си. Рассматриваются такие распространенные ошибки, как использование функций, не принимающих размер буфера (таких, как strcpy(), sprintf, и, в особенности, функции gets(), читающей строчку из stdin и пишущую в буфер вне зависимости от его размера), целочисленное и знаковое переполнение, висячие ссылки на локальные объекты, ошибки "Off-by-one" в индексах массивов и другие, которые могут злоумышленниками использоваться как программные уязвимости.
Ссылка на документ: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2018.pdf
#c #defensiveprogramming #iso #n2018 #dontshootattheleg #coolhatzckersshallnotpass
Vladislav
Черновик технического отчета (TR) от ISO по избежанию программных уязвимостей в языке Си. Рассматриваются такие распространенные ошибки, как использование функций, не принимающих размер буфера (таких, как strcpy(), sprintf, и, в особенности, функции gets(), читающей строчку из stdin и пишущую в буфер вне зависимости от его размера), целочисленное и знаковое переполнение, висячие ссылки на локальные объекты, ошибки "Off-by-one" в индексах массивов и другие, которые могут злоумышленниками использоваться как программные уязвимости.
Ссылка на документ: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2018.pdf
#c #defensiveprogramming #iso #n2018 #dontshootattheleg #coolhatzckersshallnotpass
и опять ни слова про про strlcpy/strlcat
Александр
А чем fixed_string не нравится?
Они immutable по размеру. Соответственно push_back без создания копии не сделаешь. Следовательно тип заранее предопределён. Значит и ветка кода заранее предопределёна - никаких циклов
MrSmith
Вообщем не спал ночь. И пришел ко мне такой вопрос, какому япу ебы мог доверить свою жизнь. Ну да вот так, если бы пришлось пилить софт для какой-нить наковальты в несколько тонн, и знаете походу я сделал бы выбор в пользу си. А какой ваш выбор?
Berkus
Roman
Berkus
будет очень ленивая наковальня без сайд эффектов
Roman
Aidar
Надо тогда сначала стандарт прочитать наверное
Aidar
оформите ваши желания в виде идеи на stdcpp.ru
я посмотрю, что можно сделать
Aidar
стоит правда немного обговорить здесь в чатике, будет быстрее
Aidar
приведите примеры, где это может быть полезным + какое бы решение данной проблемы вы хотели видеть ?
Evgenii
Aidar
У меня подкоптило от сравнения плюсов и питона
Berkus
а что, оба одинаковые строготипизированные языки со скобочками
Evgenii
Berkus
есть, смотри
print ";"
Evgenii
Evgenii
Berkus
могу снова ливнуть если мешаю
Berkus
да вот вчера буквально
Evgenii
Крылатый
Питон оффтоп и не нужен. Нодискасс.
Aidar
Не, питон нужен и он не плох
Berkus
нужен неосиляторам :P
Aidar
Луа чтоль?
Aidar
Или баша
Berkus
я скрипты на fish-е пишу, зачем там питон
Berkus
а более сложные - на плюсах, ибо их меньше надо тестить - скомпилилось значит заработает
Evgenii
Луа чтоль?
у меня от луа подгорает, куча неинтуитивных мест
Berkus
питон сначала 20 раз запускаешь чтобы 50% багов отловить
Aidar
Aidar
Неосилятор*
Berkus
питон неосилятор очевидно
Berkus
ты кажется очень серьезно всё воспринимаешь, особенно про питон. выдыхай
Berkus
олсо, давно не было срачей за билд системы - http://gittup.org/tup/ го?
Evgenii
Berkus
cmake не собирает сам, в этой связке tup скорее как ninja
Berkus
про метабилдсистему спора и не было )
Evgenii
Evgenii
Anonymous
Кто движок свой на opengl делал?
Anonymous
Anonymous
/html@FailsBot
Anonymous
/html@FailsBot
Nyah
Aidar
Aidar
Оно в заморозке
Berkus
Berkus
https://github.com/berkus/carma это считать движком или еще нет? )
Anonymous
/stat@combot
Anonymous
/help@FailsBot