File: progress.c

package info (click to toggle)
libite 2.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,188 kB
  • sloc: sh: 4,665; ansic: 4,165; makefile: 141
file content (50 lines) | stat: -rw-r--r-- 718 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdlib.h>		/* atexit() */
#include <unistd.h>		/* usleep() */

#include "check.h"

#define MAX_WIDTH    80
#define msleep(msec) usleep(msec * 1000)

static void bye(void)
{
	showcursor();
}

static void testit(int fn, int percent)
{
	if (fn)
		progress(percent, MAX_WIDTH);
	else
		progress_simple(percent);
}

static void run_test(int fn)
{
	int i, percent, block = 0, num = 85;

	while (block < num) {
		percent = block * 100 / num;
		for (i = 0; i < 10; i++) {
			testit(fn, percent);
			msleep(1);
		}
		block++;
		msleep(1);
	}
	testit(fn, 100);
}

int main(void)
{
	atexit(bye);
	hidecursor();

	printf("\nAdvanced:\n");
	run_test(1);
	printf("\nSimple:\n");
	run_test(0);
	printf("\n");

	return 0;
}