summaryrefslogtreecommitdiffstats
path: root/src/printf-utils.c
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2012-08-10 12:03:30 +0200
committerPali Rohár <pali.rohar@gmail.com>2012-08-10 12:03:30 +0200
commit3ce8ca13f1fa1b8e694b23a4e287f146e7311a85 (patch)
tree56bd45715fd795636b61feb8815829704829fecd /src/printf-utils.c
parentad68e324c61b708dfd903f2c5fda79f40b87b8bf (diff)
download0xFFFF-3ce8ca13f1fa1b8e694b23a4e287f146e7311a85.tar.bz2
Rename utils.c to printf-utils.c, remove unused functions
Diffstat (limited to 'src/printf-utils.c')
-rw-r--r--src/printf-utils.c59
1 files changed, 59 insertions, 0 deletions
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 <pancake@youterm.com>
+ * Copyright (C) 2012 Pali Rohár <pali.rohar@gmail.com>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#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
+
+}