micro-utils/coreutils/sleep.c

26 lines
513 B
C

#include <stdio.h>
#include <limits.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include "duration.h"
int main(const int argc, const char **argv) {
if (argc == 1 || !strcmp(argv[argc - 1], "--help")) {
printf("sleep [num[m - minute / h - hour / d - days]] / [inf infinity]\n");
return 0;
}
if (!strncasecmp(argv[1], "inf", 3))
for (;;)
sleep(INT_MAX);
unsigned long long sec = 0;
for (int i = 1; i < argc; i++)
sec += mu_parse_duration(argv[i]);
usleep(sec);
return 0;
}