}
}
+static double get_kbps(double kb, double secs) {
+ /* avoid division by zero */
+ if (secs < 0.0001)
+ return 0.0;
+ return kb / secs;
+}
+
/* A (simpler) wrapper around taper_scan(). */
static gboolean simple_taper_scan(taper_state_t * state,
gboolean* prolong, char ** error_message) {
log_add(L_PARTIAL, "%s %s %s %d %d [sec %f kb %ju kps %f] %s",
dump_info->hostname, qdiskname, dump_info->timestamp,
dump_info->current_part, dump_info->level, dump_time,
- (uintmax_t)dump_kbytes, dump_kbytes / dump_time,
+ (uintmax_t)dump_kbytes, get_kbps(dump_kbytes, dump_time),
errstr);
amfree(qdiskname);
}
GTimeVal run_time, guint64 run_bytes) {
double part_time = g_timeval_to_double(run_time);
guint64 part_kbytes = run_bytes / 1024;
- double part_kbps = run_bytes / (1024 * part_time);
+ double part_kbps = get_kbps((double)run_bytes / 1024.0, part_time);
char * qdiskname = quote_string(dump_info->diskname);
logtype_t result_log;
double dump_time = g_timeval_to_double(dump_info->total_time);
guint64 dump_kbytes = dump_info->total_bytes / 1024;
- double dump_kbps = dump_info->total_bytes / (1024 * dump_time);
+ double dump_kbps = get_kbps((double)dump_info->total_bytes / 1024.0, dump_time);
find_completion_tags(dump_info, &result_cmd, &result_log);
dump_info->total_bytes += run_bytes;
dump_time = g_timeval_to_double(dump_info->total_time);
dump_kbytes = dump_info->total_bytes / 1024;
- dump_kbps = dump_info->total_bytes / (1024 * dump_time);
+ dump_kbps = get_kbps((double)dump_info->total_bytes / 1024.0, dump_time);
putresult(PARTIAL,
"%s INPUT-%s TAPE-%s "
/* Second or later part of a split dump, so PARTIAL message. */
double dump_time = g_timeval_to_double(dump_info->total_time);
guint64 dump_kbytes = dump_info->total_bytes / 1024;
- double dump_kbps = dump_kbytes / dump_time;
+ double dump_kbps = get_kbps(dump_kbytes, dump_time);
putresult(PARTIAL,
"%s INPUT-GOOD TAPE-ERROR "
"\"[sec %f kb %ju kps %f]\" \"\" %s\n",