chiark / gitweb /
better progress indication
[ypp-sc-tools.web-live.git] / pctb / structure.c
index bbc7b8b5001f7d725de1fe28437514b24712d275..04cb962c5a00882ad9a1dc7665b3466be6c4c63f 100644 (file)
@@ -207,7 +207,7 @@ CanonImage *alloc_canon_image(int w, int h) {
   return im;
 }
 
-CanonImage *file_read_image_ppm(FILE *f) {
+static void file_read_image_ppm(FILE *f) {
   struct pam inpam;
   unsigned char rgb_buf[3];
   CanonImage *im;
@@ -225,7 +225,17 @@ CanonImage *file_read_image_ppm(FILE *f) {
                       (rgb_buf[2]);
   });
 
-  return im;
+  eassert(!ferror(screenshots_file));
+  eassert(!feof(screenshots_file));
+
+  eassert(npages < MAX_PAGES);
+  page_images[npages++]= im;
+}
+
+void read_one_screenshot(void) {
+  progress("reading screenshot...");
+  file_read_image_ppm(screenshots_file);
+  progress_log("read screenshot.",npages);
 }
 
 void read_screenshots(void) {
@@ -243,10 +253,11 @@ void read_screenshots(void) {
       if (c==EOF) break;
       ungetc(c, screenshots_file);
     }
-    eassert(npages < MAX_PAGES);
-    page_images[npages++]= file_read_image_ppm(screenshots_file);
+    progress("reading screenshot %d...",npages);
+    file_read_image_ppm(screenshots_file);
   }
   eassert(!ferror(screenshots_file));
+  progress_log("read %d screenshots.",npages);
 }
 
 static void find_commodity(int offset, Rect *rr) {