Хорошая идея. Ещё можно функции поправить, которые уже есть на форуме.
Вид для печати
Свою функцию IsRPNick я заранее исправил ещё в июле.
На проверку всех функций на форуме у меня времени нет. Если будут проблемы с const-корректностью - сообщайте в этой теме или в ЛС. Инициатива с самостоятельной подготовкой исправлений также приветствуется.
Можно же, выше есть код.
Так потому и сделали варнинг, что код написан опасным способом?
Содержат, но разработчики компилятора прогнулись под забагованные инклуды SA-MP и отключили варнинги для функций native и public.
А вот об этом подробнее, пожалуйста.
Тот же gcc не выдает такие предупреждения, хотя, насколько я помню, там можно включить отображение это.
Он не такой уж и опасный.
Вот это вообще превосходно. Я уже много раз высказывал свое мнение о том, что компилятор использует нестандартные, даже глупые способы для реализации своих фич.
static some_array[][] = { {1,2}, {3,4,5,6} }; main() { }
А, так это давно известный баг: если кол-во столбцов не фиксированное, компилятор его не запоминает и не контролирует индексы при обращении к массиву.
Очень много изменений нужно, чтобы исправить такое, поэтому неудивительно, что этот недочёт не исправлен до сих пор.
Ну так там и уровни предупреждений есть (основные, дополнительные), которых в pawnc нет.
Спорный вопрос, ситуации разные бывают.
Я уже давно говорил, что не стоит воспринимать тех разработчиков как какой-то "комитет по стандартизации Pawn" - даже если их группа на GitHub и называется "pawn-lang", на деле они заинтересованы в развитии языка только в угоду совместимости с багами SA-MP.
В результате имеем, что имеем: один очень упёртый человек, не желающий исправлять баги (пока они не повлияют на выручку с "Hosted") и грозящийся забросить МП, важнее, чем всё сообщество вместе взятое.
Создал тему со списком инклудов и плагинов, обо всех новых варнингах в инклудах просьба сообщать в ней.
Йоу, хочу запостить темку с указанием источника и авторства на другой пуфн форум, можно получить разрешение?
Заметил небольшой баг в компиляторе(3.10.8), когда переменную объявляешь в инклуде и она не используется. То компилятор указывает строку в моде, а не в инклуде.
Не совсем понимаю, о каком указании источника может идти речь. На других "пуфн-форумах" (по крайней мере, на всех, что я видел раньше) сейчас модно запрещать ссылки на другие похожие форумы.
Это не совсем одно и то же. В стандартной версии и вплоть до 3.10.7 в сообщениях о неиспользуемых переменных компилятор указывал название основного файла скрипта и последний номер строки в нём (например, вместо "include.inc:24" выводилось "mode.pwn:4999", где 4999 - номер последней строки в mode.pwn). Затем Zeex попытался исправить этот баг, но он оказался исправлен только для переменных, объявленных в основном файле. Если же переменная объявлена в инклуде, компилятор выводит правильный номер строки из инклуда, но вместо названия инклуда указывает имя основного файла (т.е. например вместо "include.inc:24" получается "mode.pwn:24").
Если что, в репо компилятора всё ещё открыт issue для этого бага: https://github.com/pawn-lang/compiler/issues/305