OSDN Git Service

* src/indicator.c (start_indicator): refined.
authorarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Sun, 27 Jul 2003 08:31:28 +0000 (08:31 +0000)
committerarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Sun, 27 Jul 2003 08:31:28 +0000 (08:31 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/lha/lha/trunk@757 6a8cc165-1e22-0410-a132-eb4e3f353aba

src/indicator.c

index 01b17fc..5318f96 100644 (file)
@@ -18,6 +18,8 @@ static size_t indicator_count;
 static long indicator_threshold;
 #endif
 
+#define ALIGN(size, threshold) (((size) + ((threshold)-1))/(threshold))
+
 static void
 carriage_return()
 {
@@ -58,14 +60,15 @@ start_indicator(name, size, msg, def_indicator_threshold)
             m = 3;      /* (^_^) */
         carriage_return();
         printf("%s\t- %s :  ", name, msg);
+
         indicator_threshold =
-            ((size + (m * def_indicator_threshold - 1)) /
-             (m * def_indicator_threshold) *
-             def_indicator_threshold);
+            ALIGN(size, m*def_indicator_threshold) * def_indicator_threshold;
+
         if (indicator_threshold)
-            i = ((size + (indicator_threshold - 1)) / indicator_threshold);
+            i = ALIGN(size, indicator_threshold);
         else
             i = 0;
+
         while (i--)
             putchar('.');
         indicator_count = 0;