progressbar.c

来自「SMDK2440 boot code, base on vivi」· C语言 代码 · 共 52 行

C
52
字号
#include <config.h>#include <vstring.h>#include <progressbar.h>static int total;voidprogressbar_set_total(int v){	total = v;}voidprogressbar(int done, int flag){	static int bar_step = 0;	int percent;	unsigned long long d;	if (total != 0) {		if (flag == BAR_DECREASE) d = (total - done) * 100ULL;		else d = done * 100;		if (done < 0) percent = 100;		else percent = (int)(d/(unsigned long long)total);		if (percent > 100) percent = 100;	} else {		percent = 0;	}	switch (bar_step++ % 4) {	case 0:		printk("  %c %3d%%", '-', percent);		break;	case 1:		printk("  %c %3d%%", '\\', percent);		break;	case 2:		printk("  %c %3d%%", '|', percent);		break;	case 3:		printk("  %c %3d%%", '/', percent);		break;	}	printk("\b\b\b\b\b\b\b\b");	if (percent == 100) {		printk("        ");		printk("\b\b\b\b\b\b\b\b");	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?