- if (mtbl_iter_next(it, &key, &len_key, &val, &len_val)) {
- Count c;
- c.ParseFromArray(val, len_val);
- printf("%d %d %d %u %f %f %d %ld %d %ld",
+ Count c;
+ bool has_c = false;
+ while (mtbl_iter_next(it, &key, &len_key, &val, &len_val)) {
+ if (has_c) {
+ Count tmpc;
+ tmpc.ParseFromArray(val, len_val);
+ c = merge_count(c, tmpc);
+ } else {
+ c.ParseFromArray(val, len_val);
+ has_c = true;
+ }
+ }
+
+ if (has_c) {
+ printf("%d %d %d %u %ld %ld %d %ld %d %ld",