diff options
| author | Mattias Andrée <maandree@kth.se> | 2020-09-04 21:28:33 +0200 | 
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2020-09-04 21:28:33 +0200 | 
| commit | 624d45a10f4d2d84a32a4e9fbcd370aa653271f8 (patch) | |
| tree | 509e1bdefbe36cd0e6a9f0bd9e9bb558a15bd442 | |
| parent | Update license, change style, simplify makefile, and do not use gpp (diff) | |
| download | mongoclock-624d45a10f4d2d84a32a4e9fbcd370aa653271f8.tar.gz mongoclock-624d45a10f4d2d84a32a4e9fbcd370aa653271f8.tar.bz2 mongoclock-624d45a10f4d2d84a32a4e9fbcd370aa653271f8.tar.xz | |
Do not accept arguments
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
| -rw-r--r-- | LICENSE | 2 | ||||
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | arg.h | 35 | ||||
| -rw-r--r-- | mongoclock.c | 20 | 
4 files changed, 57 insertions, 2 deletions
| @@ -1,6 +1,6 @@  ISC License -© 2013, 2015, 2017 Mattias Andrée <maandree@kth.se> +© 2013, 2015, 2017, 2020 Mattias Andrée <maandree@kth.se>  Permission to use, copy, modify, and/or distribute this software for any  purpose with or without fee is hereby granted, provided that the above @@ -13,7 +13,7 @@ all: mongoclock  mongoclock: mongoclock.o  	$(CC) -o $@ $^ $(LDFLAGS) -mongoclock.o: mongoclock.c $(DIGITS) +mongoclock.o: mongoclock.c arg.h $(DIGITS)  	$(CC) -c -o $@ mongoclock.c $(CPPFLAGS) $(CFLAGS)  mongo_0.h: digit.sh @@ -0,0 +1,35 @@ +/* + * Copy me if you can. + * by 20h + */ + +#ifndef ARG_H__ +#define ARG_H__ + +extern char *argv0; + +/* use main(int argc, char *argv[]) */ +#define ARGBEGIN	for (argv0 = *argv, argv++, argc--;\ +					argv[0] && argv[0][0] == '-'\ +					&& argv[0][1];\ +					argc--, argv++) {\ +				char argc_;\ +				char **argv_;\ +				int brk_;\ +				if (argv[0][1] == '-' && argv[0][2] == '\0') {\ +					argv++;\ +					argc--;\ +					break;\ +				}\ +				for (brk_ = 0, argv[0]++, argv_ = argv;\ +						argv[0][0] && !brk_;\ +						argv[0]++) {\ +					if (argv_ != argv)\ +						break;\ +					argc_ = argv[0][0];\ +					switch (argc_) + +#define ARGEND			}\ +			} + +#endif diff --git a/mongoclock.c b/mongoclock.c index e2d7e20..d94fd28 100644 --- a/mongoclock.c +++ b/mongoclock.c @@ -5,9 +5,12 @@  #include <signal.h>  #include <stdint.h>  #include <stdio.h> +#include <stdlib.h>  #include <time.h>  #include <unistd.h> +#include "arg.h" +  #define DX 16  #define DY 12  #define DC 16 @@ -32,6 +35,15 @@ static const char **mongo_ds[] = {  static volatile sig_atomic_t caught_sigterm = 0;  static volatile sig_atomic_t caught_sigwinch = 1; +char *argv0; + +static void +usage(void) +{ +	fprintf(stderr, "usage: %s\n", argv0); +	exit(1); +} +  static void  sigterm(int signo)  { @@ -77,6 +89,14 @@ main(int argc, char *argv[])  	struct itimerspec itimerspec;  	uint64_t _overrun; +	ARGBEGIN { +	default: +		usage(); +	} ARGEND; + +	if (argc) +		usage(); +  	fprintf(stdout, "\033[?1049h\033[?25l");  	if (clock_gettime(CLOCK_REALTIME, &itimerspec.it_value)) | 
