Mit ssize_t vs int

Code

Ich habe eine Funktion, in die ich schreiben kannein der vier möglichen Wege:

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);   

Und dann heißt es mitbeide dieser Möglichkeiten für Bibliotheksfunktionen:

written = do_or_die(write(...)); // POSIX write returns ssize_t
printed = do_or_die(printf(...)); // printf returns int
FragenWelchen Prototyp soll ich verwenden?Welche Arten soll ich gebenwritten undprinted?

Ich möchte den robustesten und Standard-Code haben, während ich immer noch nur einen habedo_or_die Funktion.

In diesem Fall verwende ich C99, aber wenn die Antwort für C11 anders ist, dann würde ich das gerne auch für die Zukunft wissen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage