fixed sleep

This commit is contained in:
Your Name 2024-02-13 15:07:08 +03:00
parent 1a7b13daf2
commit f4a4fbb8b0
1 changed files with 14 additions and 10 deletions

View File

@ -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;
}