martin 99/07/19 00:20:08
Modified: src/support ab.c
Log:
Avoid core dumps when no responses were received
Revision Changes Path
1.26 +32 -28 apache-1.3/src/support/ab.c
Index: ab.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/support/ab.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ab.c 1999/05/04 10:24:17 1.25
+++ ab.c 1999/07/19 07:19:43 1.26
@@ -97,7 +97,7 @@
* only an issue for loopback usage
*/
-#define VERSION "1.3"
+#define VERSION "1.3a"
/* -------------------------------------------------------------------- */
@@ -413,13 +413,15 @@
totalcon += s.ctime;
total += s.time;
}
- printf("\nConnnection Times (ms)\n");
- printf(" min avg max\n");
- printf("Connect: %5d %5d %5d\n", mincon, totalcon / requests,
maxcon);
- printf("Processing: %5d %5d %5d\n",
- mintot - mincon, (total / requests) - (totalcon / requests),
- maxtot - maxcon);
- printf("Total: %5d %5d %5d\n", mintot, total / requests, maxtot);
+ if (requests > 0) { /* avoid division by zero (if 0 requests) */
+ printf("\nConnnection Times (ms)\n");
+ printf(" min avg max\n");
+ printf("Connect: %5d %5d %5d\n", mincon, totalcon / requests,
maxcon);
+ printf("Processing: %5d %5d %5d\n",
+ mintot - mincon, (total / requests) - (totalcon / requests),
+ maxtot - maxcon);
+ printf("Total: %5d %5d %5d\n", mintot, total / requests,
maxtot);
+ }
}
}
@@ -521,26 +523,28 @@
total += s.time;
}
- printf("<tr %s><th %s colspan=4>Connnection Times (ms)</th></tr>\n",
- trstring, tdstring);
- printf("<tr %s><th %s> </th> <th %s>min</th> <th %s>avg</th>
<th %s>max</th></tr>\n",
- trstring, tdstring, tdstring, tdstring, tdstring);
- printf("<tr %s><th %s>Connect:</th>"
- "<td %s>%5d</td>"
- "<td %s>%5d</td>"
- "<td %s>%5d</td></tr>\n",
- trstring, tdstring, tdstring, mincon, tdstring, totalcon /
requests, tdstring, maxcon);
- printf("<tr %s><th %s>Processing:</th>"
- "<td %s>%5d</td>"
- "<td %s>%5d</td>"
- "<td %s>%5d</td></tr>\n",
- trstring, tdstring, tdstring, mintot - mincon, tdstring,
- (total / requests) - (totalcon / requests), tdstring, maxtot -
maxcon);
- printf("<tr %s><th %s>Total:</th>"
- "<td %s>%5d</td>"
- "<td %s>%5d</td>"
- "<td %s>%5d</td></tr>\n",
- trstring, tdstring, tdstring, mintot, tdstring, total /
requests, tdstring, maxtot);
+ if (requests > 0) { /* avoid division by zero (if 0 requests) */
+ printf("<tr %s><th %s colspan=4>Connnection Times (ms)</th></tr>\n",
+ trstring, tdstring);
+ printf("<tr %s><th %s> </th> <th %s>min</th> <th %s>avg</th>
<th %s>max</th></tr>\n",
+ trstring, tdstring, tdstring, tdstring, tdstring);
+ printf("<tr %s><th %s>Connect:</th>"
+ "<td %s>%5d</td>"
+ "<td %s>%5d</td>"
+ "<td %s>%5d</td></tr>\n",
+ trstring, tdstring, tdstring, mincon, tdstring, totalcon /
requests, tdstring, maxcon);
+ printf("<tr %s><th %s>Processing:</th>"
+ "<td %s>%5d</td>"
+ "<td %s>%5d</td>"
+ "<td %s>%5d</td></tr>\n",
+ trstring, tdstring, tdstring, mintot - mincon, tdstring,
+ (total / requests) - (totalcon / requests), tdstring, maxtot
- maxcon);
+ printf("<tr %s><th %s>Total:</th>"
+ "<td %s>%5d</td>"
+ "<td %s>%5d</td>"
+ "<td %s>%5d</td></tr>\n",
+ trstring, tdstring, tdstring, mintot, tdstring, total /
requests, tdstring, maxtot);
+ }
printf("</table>\n");
}
}