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.