line |
true |
false |
branch |
65
|
0 |
0 |
if (!reg) |
68
|
0 |
0 |
if (git_strmap_new(®->drivers) < 0) { |
80
|
61 |
0 |
if (!reg) |
83
|
0 |
0 |
git_strmap_foreach_value(reg->drivers, drv, git_diff_driver_free(drv)); |
96
|
0 |
0 |
for (scan = regex_str; scan; scan = end) { |
98
|
0 |
0 |
if ((pat = git_array_alloc(drv->fn_patterns)) == NULL) { |
|
0 |
0 |
if ((pat = git_array_alloc(drv->fn_patterns)) == NULL) { |
|
0 |
0 |
if ((pat = git_array_alloc(drv->fn_patterns)) == NULL) { |
103
|
0 |
0 |
if (*scan == '!') { |
108
|
0 |
0 |
if ((end = strchr(scan, '\n')) != NULL) { |
114
|
0 |
0 |
if (error < 0) |
124
|
0 |
0 |
if (error && pat != NULL) |
|
0 |
0 |
if (error && pat != NULL) |
125
|
0 |
0 |
(void)git_array_pop(drv->fn_patterns); /* release last item */ |
145
|
0 |
0 |
if (!repo->diff_drivers) { |
149
|
0 |
0 |
if (reg != NULL) /* if we race, free losing allocation */ |
153
|
0 |
0 |
if (!repo->diff_drivers) |
167
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, driverlen, namelen); |
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, driverlen, namelen); |
168
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1); |
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1); |
171
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(driver); |
177
|
0 |
0 |
if (namelen_out) |
193
|
0 |
0 |
for (idx = 0; idx < ARRAY_SIZE(builtin_defs); ++idx) { |
194
|
0 |
0 |
if (!strcasecmp(driver_name, builtin_defs[idx].name)) { |
199
|
0 |
0 |
if (!ddef) |
202
|
0 |
0 |
if ((error = diff_driver_alloc(&drv, NULL, ddef->name)) < 0) |
207
|
0 |
0 |
if (ddef->fns && |
|
0 |
0 |
if (ddef->fns && |
212
|
0 |
0 |
if (ddef->words && |
|
0 |
0 |
if (ddef->words && |
216
|
0 |
0 |
if ((error = git_strmap_set(reg->drivers, drv->name, drv)) < 0) |
220
|
0 |
0 |
if (error && drv) |
|
0 |
0 |
if (error && drv) |
240
|
0 |
0 |
if ((reg = git_repository_driver_registry(repo)) == NULL) |
243
|
0 |
0 |
if ((drv = git_strmap_get(reg->drivers, driver_name)) != NULL) { |
248
|
0 |
0 |
if ((error = diff_driver_alloc(&drv, &namelen, driver_name)) < 0) |
254
|
0 |
0 |
if (git_repository_config_snapshot(&cfg, repo) < 0) { |
259
|
0 |
0 |
if ((error = git_buf_printf(&name, "diff.%s.binary", driver_name)) < 0) |
281
|
0 |
0 |
if ((error = git_buf_PUTS(&name, "xfuncname")) < 0) |
284
|
0 |
0 |
if ((error = git_config_get_multivar_foreach( |
286
|
0 |
0 |
if (error != GIT_ENOTFOUND) |
292
|
0 |
0 |
if ((error = git_buf_PUTS(&name, "funcname")) < 0) |
295
|
0 |
0 |
if ((error = git_config_get_multivar_foreach( |
297
|
0 |
0 |
if (error != GIT_ENOTFOUND) |
303
|
0 |
0 |
if (git_array_size(drv->fn_patterns) > 0) { |
309
|
0 |
0 |
if ((error = git_buf_PUTS(&name, "wordregex")) < 0) |
312
|
0 |
0 |
if ((error = git_config__lookup_entry(&ce, cfg, name.ptr, false)) < 0) |
314
|
0 |
0 |
if (!ce || !ce->value) |
|
0 |
0 |
if (!ce || !ce->value) |
316
|
0 |
0 |
else if (!(error = git_regexp_compile(&drv->word_pattern, ce->value, 0))) |
328
|
0 |
0 |
if (!found_driver) |
332
|
0 |
0 |
if ((error = git_strmap_set(reg->drivers, drv->name, drv)) < 0) |
342
|
0 |
0 |
if (!*out) { |
344
|
0 |
0 |
if (!error) |
348
|
0 |
0 |
if (drv && drv != *out) |
|
0 |
0 |
if (drv && drv != *out) |
361
|
0 |
100 |
assert(out); |
364
|
100 |
0 |
if (!repo || !path || !strlen(path)) |
|
100 |
0 |
if (!repo || !path || !strlen(path)) |
|
100 |
0 |
if (!repo || !path || !strlen(path)) |
366
|
100 |
0 |
else if ((error = git_attr_get_many_with_session(values, repo, |
370
|
0 |
100 |
else if (GIT_ATTR_IS_UNSPECIFIED(values[0])) |
372
|
0 |
0 |
else if (GIT_ATTR_IS_FALSE(values[0])) |
374
|
0 |
0 |
else if (GIT_ATTR_IS_TRUE(values[0])) |
378
|
0 |
0 |
else if ((error = git_diff_driver_load(out, repo, values[0])) < 0) { |
379
|
0 |
0 |
if (error == GIT_ENOTFOUND) { |
385
|
100 |
0 |
if (!*out) |
395
|
0 |
0 |
if (!driver) |
398
|
0 |
0 |
for (i = 0; i < git_array_size(driver->fn_patterns); ++i) |
399
|
0 |
0 |
git_regexp_dispose(& git_array_get(driver->fn_patterns, i)->re); |
410
|
96 |
4 |
if ((*option_flags & FORCE_DIFFABLE) == 0) |
432
|
0 |
60 |
if (git_buf_text_contains_nul(&search)) |
443
|
0 |
0 |
return (git__isalpha(firstch) || firstch == '_' || firstch == '$'); |
|
0 |
0 |
return (git__isalpha(firstch) || firstch == '_' || firstch == '$'); |
|
0 |
0 |
return (git__isalpha(firstch) || firstch == '_' || firstch == '$'); |
452
|
0 |
0 |
for (i = 0; i < maxi; ++i) { |
453
|
0 |
0 |
git_diff_driver_pattern *pat = git_array_get(driver->fn_patterns, i); |
455
|
0 |
0 |
if (!git_regexp_search(&pat->re, line->ptr, 2, pmatch)) { |
456
|
0 |
0 |
if (pat->flags & REG_NEGATE) |
481
|
0 |
0 |
if (git_buf_set(&ctxt->line, line, (size_t)line_len) < 0) |
485
|
0 |
0 |
if (!ctxt->line.size) |
488
|
0 |
0 |
if (!ctxt->match_line || !ctxt->match_line(ctxt->driver, &ctxt->line)) |
|
0 |
0 |
if (!ctxt->match_line || !ctxt->match_line(ctxt->driver, &ctxt->line)) |
491
|
0 |
0 |
if (out_size > (long)ctxt->line.size) |
503
|
38 |
0 |
*findfn_out = driver ? diff_context_find : NULL; |
506
|
38 |
0 |
if (driver) { |
509
|
0 |
38 |
diff_context_line__pattern_match : diff_context_line__simple; |
516
|
38 |
0 |
if (payload) { |