diff options
Diffstat (limited to 'dimension/progressbar.c')
-rw-r--r-- | dimension/progressbar.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/dimension/progressbar.c b/dimension/progressbar.c index 7ea1344..affb42f 100644 --- a/dimension/progressbar.c +++ b/dimension/progressbar.c @@ -18,10 +18,9 @@ *************************************************************************/ #include "progressbar.h" -#include <sys/ioctl.h> +#include "platform.h" #include <stdarg.h> #include <stdio.h> -#include <unistd.h> void dmnsn_progressbar(const char *format, const dmnsn_progress *progress, ...) @@ -38,13 +37,8 @@ dmnsn_progressbar(const char *format, const dmnsn_progress *progress, ...) fflush(stdout); - /* Try to fill the terminal with the progress bar; this is non-portable */ - struct winsize ws; - unsigned int width = 80; - if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) == 0) { - width = ws.ws_col; - } - + /* Try to fill the terminal with the progress bar */ + unsigned int width = dmnsn_terminal_width(); unsigned int increments = width - (len % width); for (unsigned int i = 0; i < increments; ++i) { dmnsn_wait_progress(progress, ((double)(i + 1))/increments); |