@@ -88,27 +88,21 @@ static int collect_reflog(const char *ref, void *cb_data)
88
88
return 0 ;
89
89
}
90
90
91
- static struct reflog_expire_cfg {
92
- struct reflog_expire_cfg * next ;
93
- timestamp_t expire_total ;
94
- timestamp_t expire_unreachable ;
95
- char pattern [FLEX_ARRAY ];
96
- } * reflog_expire_cfg , * * reflog_expire_cfg_tail ;
97
-
98
- static struct reflog_expire_cfg * find_cfg_ent (const char * pattern , size_t len )
91
+ static struct reflog_expire_entry_option * find_cfg_ent (struct reflog_expire_options * opts ,
92
+ const char * pattern , size_t len )
99
93
{
100
- struct reflog_expire_cfg * ent ;
94
+ struct reflog_expire_entry_option * ent ;
101
95
102
- if (!reflog_expire_cfg_tail )
103
- reflog_expire_cfg_tail = & reflog_expire_cfg ;
96
+ if (!opts -> entries_tail )
97
+ opts -> entries_tail = & opts -> entries ;
104
98
105
- for (ent = reflog_expire_cfg ; ent ; ent = ent -> next )
99
+ for (ent = opts -> entries ; ent ; ent = ent -> next )
106
100
if (!xstrncmpz (ent -> pattern , pattern , len ))
107
101
return ent ;
108
102
109
103
FLEX_ALLOC_MEM (ent , pattern , pattern , len );
110
- * reflog_expire_cfg_tail = ent ;
111
- reflog_expire_cfg_tail = & (ent -> next );
104
+ * opts -> entries_tail = ent ;
105
+ opts -> entries_tail = & (ent -> next );
112
106
return ent ;
113
107
}
114
108
@@ -124,7 +118,7 @@ static int reflog_expire_config(const char *var, const char *value,
124
118
size_t pattern_len ;
125
119
timestamp_t expire ;
126
120
int slot ;
127
- struct reflog_expire_cfg * ent ;
121
+ struct reflog_expire_entry_option * ent ;
128
122
129
123
if (parse_config_key (var , "gc" , & pattern , & pattern_len , & key ) < 0 )
130
124
return git_default_config (var , value , ctx , cb );
@@ -152,7 +146,7 @@ static int reflog_expire_config(const char *var, const char *value,
152
146
return 0 ;
153
147
}
154
148
155
- ent = find_cfg_ent (pattern , pattern_len );
149
+ ent = find_cfg_ent (opts , pattern , pattern_len );
156
150
if (!ent )
157
151
return -1 ;
158
152
switch (slot ) {
@@ -168,12 +162,12 @@ static int reflog_expire_config(const char *var, const char *value,
168
162
169
163
static void set_reflog_expiry_param (struct reflog_expire_options * cb , const char * ref )
170
164
{
171
- struct reflog_expire_cfg * ent ;
165
+ struct reflog_expire_entry_option * ent ;
172
166
173
167
if (cb -> explicit_expiry == (EXPIRE_TOTAL |EXPIRE_UNREACH ))
174
168
return ; /* both given explicitly -- nothing to tweak */
175
169
176
- for (ent = reflog_expire_cfg ; ent ; ent = ent -> next ) {
170
+ for (ent = cb -> entries ; ent ; ent = ent -> next ) {
177
171
if (!wildmatch (ent -> pattern , ref , 0 )) {
178
172
if (!(cb -> explicit_expiry & EXPIRE_TOTAL ))
179
173
cb -> expire_total = ent -> expire_total ;
0 commit comments