Deal with zero in add
diff --git a/src/bc/num.c b/src/bc/num.c
index 4700b10..d1be48e 100644
--- a/src/bc/num.c
+++ b/src/bc/num.c
@@ -212,6 +212,9 @@
 
   (void) scale;
 
+  if (!a->len) return bc_num_copy(c, b);
+  else if (!b->len) return bc_num_copy(c, a);
+
   c->neg = a->neg;
 
   memset(c->num, 0, c->cap * sizeof(BcDigit));