fixed sleep
This commit is contained in:
parent
1a7b13daf2
commit
f4a4fbb8b0
|
@ -5,21 +5,25 @@
|
|||
#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");
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
int opt;
|
||||
while ((opt = getopt(argc, argv, "")) != -1 || argc == 1) {
|
||||
printf("sleep [num[SUFFIX]] or [inf Infinity]\nSUFFIXES:\n\tm - minute\n\th - hour\n\td - days\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!strncasecmp(argv[1], "inf", 3))
|
||||
for (;;)
|
||||
argv += optind;
|
||||
argc -= optind;
|
||||
|
||||
if (!strncasecmp(argv[0], "inf", 3))
|
||||
while (1)
|
||||
sleep(INT_MAX);
|
||||
|
||||
unsigned long long sec = 0;
|
||||
unsigned long long usec = 0;
|
||||
for (int i = 0; i < argc; i++)
|
||||
usec += mu_parse_duration(argv[i]);
|
||||
|
||||
for (int i = 1; i < argc; i++)
|
||||
sec += mu_parse_duration(argv[i]);
|
||||
|
||||
usleep(sec);
|
||||
usleep(usec);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue