Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 3 ПерваяПервая 1 2 3
Показано с 21 по 23 из 23
  1. #21
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Ок, ещё один интересный момент:
    PHP код:
    #if !defined toupper
      #define toupper(c)     ( (c)>='A' && (c)<='Z' ? (c) + 'A' - 'a' : (c) )
    #endif 
    Такой подход прокатил бы в Pawn, но в C и C++ оператор defined работает только в директивах #if/#elif и только с названиями макросов (если это только не какое-то нестандартное расширение, специфичное для какого-то одного или нескольких компиляторов).
    Даже если функция toupper была объявлена в одном из заголовочных файлов, выражение "defined toupper" вернёт false и твой макрос в любом случае заменит эту функцию.
    Должно быть какое-то решение получше, чем это. ИМХО, даже просто ничего не делать, оставив предупреждение компилятора о необъявленной функции, будет лучше, т.к. функция toupper всё равно есть в стандартной библиотеке (libc.so или как ещё она должна называться).
    Там tolower реализован точно также, поэтому я так и сделал.

  2. #22
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Немного обновил свой PR с исправлением нескольких уязвимостей в интерпретаторе. Правда, настораживает скорость рассмотрения патчей - почти 3 месяца с открытия PR и до сих пор ни одного комментария от разработчика Pawn. Надеюсь, не придётся ждать ещё полгода.

    Кстати, об уязвимостях, интересно, как к ним относятся в SA-MP Team. В 2009-м Kye отключил опкоды JUMP.PRI и CALL.PRI, чтобы устранить уязвимость с выполнением непроверенного байт-кода. С тех пор вместо JUMP.PRI научились получать аналогичный эффект от SCTRL 6 (т.е. выполнение "левого" кода всё ещё возможно) и открыта ещё одна уязвимость в LREF.S.PRI/ALT и SREF.S.PRI/ALT - чтение и запись данных за пределами скриптовой песочницы. Но никто и не торопится исправлять эти уязвимости. Более того, их даже используют в некоторых работах, таких как YSI или SmartCMD (следует отдать должное, работы на самом деле очень хорошие, авторы вложили в них много сил, но их практика с использованием багов, ИМХО, сомнительная).
    Вся эта идея с принятием багов за фичи отнюдь не нова для SA-MP, но всё же факт интересный. Многое говорит о "серьёзности" в разработке как самого SA-MP, так и связанных с ним работ.

    UPD: Добавил больше ссылок в пост.
    Последний раз редактировалось Daniel_Cortez; 27.11.2016 в 16:48. Причина: -
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  3. Пользователь сказал cпасибо:
    Толкин (07.12.2016)
  4. #23
    Аватар для JohnConor
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.01.2017
    Сообщений
    11
    Репутация:
    1 ±
    Как я понял появилась новая версия, данные с сайта https://www.compuphase.com/pawn/
    Current version 4.0.5691 (2017-06-14)

 

 
Страница 3 из 3 ПерваяПервая 1 2 3

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •