| 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) { |