Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 14 из 14
  1. #11
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Elrmrnt-Kritik Посмотреть сообщение
    Хорошо, а можно пример, при котором сервер упадет, если я буду использовать этот макрос?
    Код HTML:
    #define isnull(%0) (!%0[0])
    Вы точно читаете, что вам отвечают? Падение происходит не из-за макроса, а из-за пустой строки в вызове CallLocalFunction:
    1. #include <a_samp>
    2.  
    3. public SomeFunction(const string[]);
    4. public SomeFunction(const string[])
    5. {
    6. printf("string: \"%s\"");
    7. }
    8.  
    9. main()
    10. {
    11. CallLocalFunction(!"SomeFunction", !"s", "");
    12. }
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  2. 2 пользователя(ей) сказали cпасибо:
    Elrmrnt-Kritik (11.06.2018) VVWVV (10.06.2018)
  3. #12
    Аватар для Elrmrnt-Kritik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.11.2017
    Сообщений
    136
    Репутация:
    10 ±
    Я прекрасно понимаю что будет при передачи пустой строки. Но в то же время я не понимаю, зачем Вы проверяете, не равен ли символ '\1'. Можно же ограничиться проверкой первого символа на '\0'.

  4. #13
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Elrmrnt-Kritik Посмотреть сообщение
    Я прекрасно понимаю что будет при передачи пустой строки. Но в то же время я не понимаю, зачем Вы проверяете, не равен ли символ '\1'. Можно же ограничиться проверкой первого символа на '\0'.
    Если бы мы проверяли так, то строка бы не была пустой.

    1. #include <a_samp>
    2.  
    3. public SomeFunction(const string[]);
    4. public SomeFunction(const string[])
    5. {
    6. if (isnull(string)) {
    7. printf("the passed string is empty.\n");
    8. } else {
    9. printf("the passed string : \n", string);
    10. }
    11. }
    12.  
    13. main()
    14. {
    15. CallLocalFunction(!"SomeFunction", !"s", "\1");
    16. }

  5. Пользователь сказал cпасибо:
    Elrmrnt-Kritik (11.06.2018)
  6. #14
    Аватар для Elrmrnt-Kritik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.11.2017
    Сообщений
    136
    Репутация:
    10 ±
    Все, спасибо, можно закрыть тему :)

 

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

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

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

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

Ваши права

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