diff options
Diffstat (limited to 'lib/libstand/twiddle.c')
-rw-r--r-- | lib/libstand/twiddle.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/libstand/twiddle.c b/lib/libstand/twiddle.c index e0a4c08..96ebbbe 100644 --- a/lib/libstand/twiddle.c +++ b/lib/libstand/twiddle.c @@ -42,11 +42,28 @@ __FBSDID("$FreeBSD$"); /* Extra functions from NetBSD standalone printf.c */ +static u_int globaldiv; + void -twiddle() +twiddle(u_int callerdiv) { - static int pos; + static u_int callercnt, globalcnt, pos; + + callercnt++; + if (callerdiv > 1 && (callercnt % callerdiv) != 0) + return; + + globalcnt++; + if (globaldiv > 1 && (globalcnt % globaldiv) != 0) + return; putchar("|/-\\"[pos++ & 3]); putchar('\b'); } + +void +twiddle_divisor(u_int gdiv) +{ + + globaldiv = gdiv; +} |