}
if (o_mode & mf_screenshot) {
screenshots_file= fopen(o_screenshots_fn, "w"); eassert(screenshots_file);
- if (o_single_page)
- take_one_screenshot();
- else
- take_screenshots();
+ if (o_single_page) take_one_screenshot();
+ else take_screenshots();
} else {
screenshots_file= fopen(o_screenshots_fn, "r"); eassert(screenshots_file);
- read_screenshots();
+ if (o_single_page) read_one_screenshot();
+ else read_screenshots();
}
if (o_mode & mf_analyse) {
analyse();
DEFINE_VWRAPPERF(, progress)
DEFINE_VWRAPPERF(, progress_log)
+DEFINE_VWRAPPERF(, progress_spinner)
static int last_progress_len;
-void vprogress(const char *fmt, va_list al) {
+static void vprogress_core(int spinner, const char *fmt, va_list al) {
int r;
if (o_quiet) return;
r= vfprintf(stderr,fmt,al);
eassert(r>=0);
+ if (spinner) {
+ putc(spinner,stderr);
+ r++;
+ }
+
if (r < last_progress_len) {
fprintf(stderr,"%*s", last_progress_len - r, "");
if (!r) putc('\r', stderr);
fflush(stderr);
}
+void vprogress(const char *fmt, va_list al) { vprogress_core(0,fmt,al); }
+void vprogress_spinner(const char *fmt, va_list al) {
+ static const char spinchars[]="/-\\";
+ static int spinner;
+
+ vprogress_core(spinchars[spinner],fmt,al);
+ spinner++;
+ spinner %= (sizeof(spinchars)-1);
+}
+
void vprogress_log(const char *fmt, va_list al) {
if (o_quiet) return;