#include /* errno */ #include /* fprintf(3), stderr */ #include /* strtol(3) */ #include /* EX_USAGE */ #include /* sleep(3) */ static char *program_name = "sleep"; int main(int argc, char **argv){ int s; extern int errno; if(argc != 2){ usage: fprintf(stderr, "Usage: %s [seconds]\n", argv[0] == NULL ? program_name : argv[0]); return EX_USAGE; } errno = 0; s = strtol(argv[1], &argv[1], 10); if(*argv[1] != '\0' || errno != 0) goto usage; while(s > 0) s = sleep(s); return s; }