История изменений
Исправление
kirk_johnson,
(текущая версия)
:
Либо я не очень понимаю, что ты хочешь сказать, либо наоборот. printf(), пока ты не обосрался с количеством и типом аргумента, абсолютно корректен. Он делает столько va_arg(), сколько параметров в форматной строке. syscall() , пока ты не передал ему максимальное количество аргументов — нет, потому что вызов va_arg() после последнего VA элемента — UB. И по сути, нам сейчас просто очень везет.
Исправление
kirk_johnson,
:
Либо я не очень понимаю, что ты хочешь сказать, либо наоборот. printf(), пока ты не обосрался с количеством и типом аргумента, абсолютно корректен. Он делает столько va_arg(), сколько параметров в строке. syscall() , пока ты не передал ему максимальное количество аргументов — нет, потому что вызов va_arg() после последнего VA элемента — UB. И по сути, нам сейчас просто очень везет.
Исходная версия
kirk_johnson,
:
Либо я не очень понимаю, что ты хочешь сказать, либо наоборот. printf(), пока ты не обосрался с количеством и типом аргумента, абсолютно корректен. syscall() , пока ты не передал ему максимальное количество аргументов — нет, потому что вызов va_arg() после последнего VA элемента — UB. И по сути, нам сейчас просто очень везет.