#Centipede Corpus seeder: More accurate logged count of non-empty features

`ReadShard()` passes two types of empty features into the callback:
1. Truly empty, when the features file doesn't contain features for the current input and the client needs to recompute them.
2. A single element `FeatureVec{feature_domains::kNoFeature}`, when the features file contains an empty record for the current input, i.e. the input genuinely didn't trigger any features, and there is no need to recompute them.

PiperOrigin-RevId: 582846747
diff --git a/centipede/seed_corpus_maker_lib.cc b/centipede/seed_corpus_maker_lib.cc
index 3b4e5bf..fb49a4f 100644
--- a/centipede/seed_corpus_maker_lib.cc
+++ b/centipede/seed_corpus_maker_lib.cc
@@ -215,7 +215,12 @@
         ReadShard(corpus_fname, features_fname,
                   [&shard_elts, &shard_num_features](  //
                       const ByteArray& input, FeatureVec& features) {
-                    shard_num_features += features.empty() ? 0 : 1;
+                    // Empty features come in two flavors from `ReadShard()`.
+                    if (features.empty() ||
+                        (features.size() == 1 &&
+                         features[0] == feature_domains::kNoFeature)) {
+                      ++shard_num_features;
+                    }
                     shard_elts.emplace_back(input, std::move(features));
                   });