@@ -163,9 +163,10 @@ static const char *find_funcname_matching_regexp(xdemitconf_t *xecfg, const char
163
163
}
164
164
}
165
165
166
- static const char * parse_range_funcname (const char * arg , nth_line_fn_t nth_line_cb ,
167
- void * cb_data , long lines , long anchor , long * begin , long * end ,
168
- const char * path )
166
+ static const char * parse_range_funcname (
167
+ const char * arg , nth_line_fn_t nth_line_cb ,
168
+ void * cb_data , long lines , long anchor , long * begin , long * end ,
169
+ const char * path , struct index_state * istate )
169
170
{
170
171
char * pattern ;
171
172
const char * term ;
@@ -198,7 +199,7 @@ static const char *parse_range_funcname(const char *arg, nth_line_fn_t nth_line_
198
199
anchor -- ; /* input is in human terms */
199
200
start = nth_line_cb (cb_data , anchor );
200
201
201
- drv = userdiff_find_by_path (& the_index , path );
202
+ drv = userdiff_find_by_path (istate , path );
202
203
if (drv && drv -> funcname .pattern ) {
203
204
const struct userdiff_funcname * pe = & drv -> funcname ;
204
205
xecfg = xcalloc (1 , sizeof (* xecfg ));
@@ -244,7 +245,8 @@ static const char *parse_range_funcname(const char *arg, nth_line_fn_t nth_line_
244
245
245
246
int parse_range_arg (const char * arg , nth_line_fn_t nth_line_cb ,
246
247
void * cb_data , long lines , long anchor ,
247
- long * begin , long * end , const char * path )
248
+ long * begin , long * end ,
249
+ const char * path , struct index_state * istate )
248
250
{
249
251
* begin = * end = 0 ;
250
252
@@ -254,7 +256,9 @@ int parse_range_arg(const char *arg, nth_line_fn_t nth_line_cb,
254
256
anchor = lines + 1 ;
255
257
256
258
if (* arg == ':' || (* arg == '^' && * (arg + 1 ) == ':' )) {
257
- arg = parse_range_funcname (arg , nth_line_cb , cb_data , lines , anchor , begin , end , path );
259
+ arg = parse_range_funcname (arg , nth_line_cb , cb_data ,
260
+ lines , anchor , begin , end ,
261
+ path , istate );
258
262
if (!arg || * arg )
259
263
return -1 ;
260
264
return 0 ;
@@ -275,10 +279,12 @@ int parse_range_arg(const char *arg, nth_line_fn_t nth_line_cb,
275
279
return 0 ;
276
280
}
277
281
278
- const char * skip_range_arg (const char * arg )
282
+ const char * skip_range_arg (const char * arg , struct index_state * istate )
279
283
{
280
284
if (* arg == ':' || (* arg == '^' && * (arg + 1 ) == ':' ))
281
- return parse_range_funcname (arg , NULL , NULL , 0 , 0 , NULL , NULL , NULL );
285
+ return parse_range_funcname (arg , NULL , NULL ,
286
+ 0 , 0 , NULL , NULL ,
287
+ NULL , istate );
282
288
283
289
arg = parse_loc (arg , NULL , NULL , 0 , -1 , NULL );
284
290
0 commit comments