код
У меня есть функция, которую я могу написать одним из четырех возможных способов:
int do_or_die(int retval);
int do_or_die(ssize_t retval);
ssize_t do_or_die(int t retval);
ssize_t do_or_die(ssize_t retval);
И затем он будет вызываться с обоими способами для библиотечных функций:
written = do_or_die(write(...)); // POSIX write returns ssize_t
printed = do_or_die(printf(...)); // printf returns int
Вопросы
- Какой прототип я должен использовать?
- Какие типы я должен предоставить
written
иprinted
?
Я хочу иметь самый надежный и стандартный код, имея при этом только одну функцию do_or_die
.
Я использую C99 в этом случае, но если ответ отличается для C11, то я тоже хотел бы знать это на будущее.