summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2015-01-12 08:59:46 +0100
committerCarlos Martín Nieto <cmn@dwim.me>2015-01-12 08:59:46 +0100
commit04bdd97f2b63793a8720fd19007911e946ba3c55 (patch)
tree3d3df459c1c295fad607cb1739152f148faac5ed
parentb91f28be7d36a94e5e4ccef798ab03ed62a8517c (diff)
parent9af3c4169c51b967579042e392937acbc75da79d (diff)
downloadlibgit2-04bdd97f2b63793a8720fd19007911e946ba3c55.tar.gz
Merge pull request #2815 from ethomson/examplev0.22.0
clone example: don't divide by zero
-rw-r--r--examples/network/clone.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/examples/network/clone.c b/examples/network/clone.c
index 182d1c35b..6144e217e 100644
--- a/examples/network/clone.c
+++ b/examples/network/clone.c
@@ -18,14 +18,20 @@ typedef struct progress_data {
static void print_progress(const progress_data *pd)
{
- int network_percent = (100*pd->fetch_progress.received_objects) / pd->fetch_progress.total_objects;
- int index_percent = (100*pd->fetch_progress.indexed_objects) / pd->fetch_progress.total_objects;
+ int network_percent = pd->fetch_progress.total_objects > 0 ?
+ (100*pd->fetch_progress.received_objects) / pd->fetch_progress.total_objects :
+ 0;
+ int index_percent = pd->fetch_progress.total_objects > 0 ?
+ (100*pd->fetch_progress.indexed_objects) / pd->fetch_progress.total_objects :
+ 0;
+
int checkout_percent = pd->total_steps > 0
? (100 * pd->completed_steps) / pd->total_steps
: 0;
int kbytes = pd->fetch_progress.received_bytes / 1024;
- if (pd->fetch_progress.received_objects == pd->fetch_progress.total_objects) {
+ if (pd->fetch_progress.total_objects &&
+ pd->fetch_progress.received_objects == pd->fetch_progress.total_objects) {
printf("Resolving deltas %d/%d\r",
pd->fetch_progress.indexed_deltas,
pd->fetch_progress.total_deltas);