trailer: separate public from internal portion of trailer_iterator

The fields here are not meant to be used by downstream callers, so put them behind an anonymous struct named as "internal" to warn against their use. This follows the pattern in 576de3d956 (unpack_trees: start splitting internal fields from public API, 2023-02-27). Signed-off-by: Linus Arver <linusa@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Linus Arver committed Sep 9, 2023 at 06:16 UTC 13211ae23f9126be81b3b483163bf963df4826aa
2 files changed +9 -7
trailer.c
+5 -5
@@ -1220,14 +1220,14 @@ void trailer_iterator_init(struct trailer_iterator *iter, const char *msg)
1220 strbuf_init(&iter->key, 0);
1221 strbuf_init(&iter->val, 0);
1222 opts.no_divider = 1;
1223 - trailer_info_get(&iter->info, msg, &opts);
1224 - iter->cur = 0;
1223 + trailer_info_get(&iter->internal.info, msg, &opts);
1224 + iter->internal.cur = 0;
1225 }
1226
1227 int trailer_iterator_advance(struct trailer_iterator *iter)
1228 {
1229 - while (iter->cur < iter->info.trailer_nr) {
1230 - char *trailer = iter->info.trailers[iter->cur++];
1229 + while (iter->internal.cur < iter->internal.info.trailer_nr) {
1230 + char *trailer = iter->internal.info.trailers[iter->internal.cur++];
1231 int separator_pos = find_separator(trailer, separators);
1232
1233 if (separator_pos < 1)
@@ -1245,7 +1245,7 @@ int trailer_iterator_advance(struct trailer_iterator *iter)
1245
1246 void trailer_iterator_release(struct trailer_iterator *iter)
1247 {
1248 - trailer_info_release(&iter->info);
1248 + trailer_info_release(&iter->internal.info);
1249 strbuf_release(&iter->val);
1250 strbuf_release(&iter->key);
1251 }
trailer.h
+4 -2
@@ -119,8 +119,10 @@ struct trailer_iterator {
119 struct strbuf val;
120
121 /* private */
122 - struct trailer_info info;
123 - size_t cur;
122 + struct {
123 + struct trailer_info info;
124 + size_t cur;
125 + } internal;
126 };
127
128 /*