История изменений
Исправление
kirk_johnson,
(текущая версия)
:
Это сработает, только если действительно вышли за границу кадра стека.
Зачем? va_arg() инкрементирует счетчик, если перебрал — abort(). Стек тут ни при чем.
А со сисколами вообще бяда, вот, скажем, open(): может быть 2 или 3 аргумента.
И? В open проверяется flags, и если там O_CREAT или O_TMPFILE, ты должен передать аргумент. Иначе бобо. И в этом случае abort() тоже уместен, чтобы вместо mode какую-то хрень со стека не передал.
Исправление
kirk_johnson,
:
Это сработает, только если действительно вышли за границу кадра стека.
Зачем? va_arg() инкрементирует счетчик, если перебрал — abort(). Стек тут ни при чем.
А со сисколами вообще бяда, вот, скажем, open(): может быть 2 или 3 аргумента.
И? В open проверяется flags, и если там O_CREAT или O_TMPFILE, ты должен передать аргумент. Иначе бобо. И в этом случае abort() тоже уместен.
Исходная версия
kirk_johnson,
:
Это сработает, только если действительно вышли за границу кадра стека.
Зачем? va_arg() инкрементирует счетчик, если перебрал — abort(). Стек тут ни при чем.
А со сисколами вообще бяда, вот, скажем, open(): может быть 2 или 3 аргумента.
И? В open проверяется flags, и если там O_CREAT или O_TMPFILE, ты должен передать аргумент. Иначе бобо.