История изменений
Исправление
kirk_johnson,
(текущая версия)
:
Как ты предлагаешь это починить, не сломав API? Учитывая, что вроде как способа проверить, сколько аргументов передано, в C нету.
Я не предлагаю ничего чинить, мне интересно, как ведут себя компиляторы.
P.S. Но по факту, жирный switch-case, конечно же. Если без UB. Или разные макросы syscall3, syscall2 и т.д. В ядре вроде так.
Исправление
kirk_johnson,
:
Как ты предлагаешь это починить, не сломав API? Учитывая, что вроде как способа проверить, сколько аргументов передано, в C нету.
Я не предлагаю ничего чинить, мне интересно, как ведут себя компиляторы.
P.S. Но по факту, жирный switch-case, конечно же. Если без UB.
Исправление
kirk_johnson,
:
Как ты предлагаешь это починить, не сломав API? Учитывая, что вроде как способа проверить, сколько аргументов передано, в C нету.
Я не предлагаю ничего чинить, мне интересно, как ведут себя компиляторы.
P.S. Но по факту, жирный switch-case, конечно же.
Исходная версия
kirk_johnson,
:
Как ты предлагаешь это починить, не сломав API? Учитывая, что вроде как способа проверить, сколько аргументов передано, в C нету.
Я не предлагаю ничего чинить, мне интересно, как ведут себя компиляторы.