From 3ce8ca13f1fa1b8e694b23a4e287f146e7311a85 Mon Sep 17 00:00:00 2001 From: Pali Rohár Date: Fri, 10 Aug 2012 12:03:30 +0200 Subject: Rename utils.c to printf-utils.c, remove unused functions --- src/printf-utils.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/printf-utils.c (limited to 'src/printf-utils.c') diff --git a/src/printf-utils.c b/src/printf-utils.c new file mode 100644 index 0000000..8907dba --- /dev/null +++ b/src/printf-utils.c @@ -0,0 +1,59 @@ +/* + * 0xFFFF - Open Free Fiasco Firmware Flasher + * Copyright (C) 2007 pancake + * Copyright (C) 2012 Pali Rohár + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include + +#include "printf-utils.h" + +int printf_prev = 0; + +void printf_progressbar(unsigned long long part, unsigned long long total) { + + char *columns = getenv("COLUMNS"); + int pc; + int tmp, cols = 80; + + /* percentage calculation */ + pc = (int)(part*100/total); + (pc<0)?pc=0:(pc>100)?pc=100:0; + +#if HAVE_SQUEUE + if (qmode) { + char msg[128]; + sprintf(msg, "%d%%", pc); + squeue_push2(p, "bar", msg, 0); + } else { +#endif + PRINTF_BACK(); + PRINTF_ADD("\x1b[K %3d%% [", pc); + if (columns) + cols = atoi(columns); + if (cols > 115) + cols = 115; + cols-=15; + for(tmp=cols*pc/100;tmp;tmp--) PRINTF_ADD("#"); + for(tmp=cols-(cols*pc/100);tmp;tmp--) PRINTF_ADD("-"); + PRINTF_ADD("]"); + fflush(stdout); +#if HAVE_SQUEUE + } +#endif + +} -- cgit v1.2.3