summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--timer.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/timer.c b/timer.c
index 0e4ce7c..ad479e7 100644
--- a/timer.c
+++ b/timer.c
@@ -1,16 +1,26 @@
#include <stdio.h>
+#include <stdlib.h>
#include <unistd.h>
int main(int argc, char** argv){
int min; int sec;
- if (argc != 2) return 1;
+ if (argc < 2){
+ perror("format: `timer mins:secs [# of timers to run]`");
+ return 1;
+ }
+ int times = 1;
+ if (argc >= 3){
+ sscanf(argv[2], "%d", &times);
+ }
sscanf(argv[1], "%d:%d", &min, &sec);
int time = min*60 + sec;
- for (int i = 1; i<=time; i++){
- printf("%d:%02d/%d:%02d\r", (i-i%60)/60, i%60, min, sec);
- fflush(stdout);
- sleep(1);
+ for (int j = 0; j<times; j++){
+ for (int i = 1; i<=time; i++){
+ printf("%d:%02d/%d:%02d\r", (i-i%60)/60, i%60, min, sec);
+ fflush(stdout);
+ sleep(1);
+ }
+ printf("\n");
}
- printf("\n");
return 0;
}