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
/*