summaryrefslogtreecommitdiffstats
path: root/lib/libstand/twiddle.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libstand/twiddle.c')
-rw-r--r--lib/libstand/twiddle.c21
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;
+}
OpenPOWER on IntegriCloud