static void
usage(void)
{
- die("usage: %s [-s]", argv0);
+ die("usage: %s [-so]", argv0);
}
int
struct sigaction act;
struct timespec start, current, diff, intspec, wait;
size_t i, len;
- int sflag, ret;
+ int sflag, oflag, ret;
char status[MAXLEN];
const char *res;
- sflag = 0;
+ sflag = oflag = 0;
ARGBEGIN {
case 's':
sflag = 1;
break;
+ case 'o':
+ oflag = 1;
+ break;
default:
usage();
} ARGEND
if (!(res = args[i].func(args[i].args))) {
res = unknown_str;
}
- if ((ret = snprintf(status + len, sizeof(status) - len,
+ if ((ret = esnprintf(status + len, sizeof(status) - len,
args[i].fmt, res)) < 0) {
- warn("snprintf:");
- break;
- } else if ((size_t)ret >= sizeof(status) - len) {
- warn("snprintf: Output truncated");
break;
}
len += ret;
XFlush(dpy);
}
+ if (oflag) {
+ done = 1;
+ }
+
if (!done) {
if (clock_gettime(CLOCK_MONOTONIC, ¤t) < 0) {
die("clock_gettime:");