mirror of
https://github.com/git/git.git
synced 2026-01-11 13:23:12 +09:00
Update clar to fcbed04 (Merge pull request #123 from pks-gitlab/pks-sandbox-ubsan, 2025-09-10). The most significant changes since the last version include: - Fixed platform support for HP-UX. - Fixes for how clar handles the `-q` flag. - A couple of leak fixes for reported clar errors. - A new `cl_invoke()` function that retains line information. - New infrastructure to create temporary directories. - Improved printing of error messages so that all lines are now properly indented. - Proper selftests for the clar. Most of these changes are somewhat irrelevant to us, but neither do we have to adjust to any of these changes, either. What _is_ interesting to us though is especially the fixed support for HP-UX, and eventually we may also want to use `cl_invoke()`. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
51 lines
989 B
C
51 lines
989 B
C
#ifdef CLAR_FIXTURE_PATH
|
|
static const char *
|
|
fixture_path(const char *base, const char *fixture_name)
|
|
{
|
|
static char _path[CLAR_MAX_PATH];
|
|
size_t root_len;
|
|
|
|
root_len = strlen(base);
|
|
strncpy(_path, base, sizeof(_path));
|
|
|
|
if (_path[root_len - 1] != '/')
|
|
_path[root_len++] = '/';
|
|
|
|
if (fixture_name[0] == '/')
|
|
fixture_name++;
|
|
|
|
strncpy(_path + root_len,
|
|
fixture_name,
|
|
sizeof(_path) - root_len);
|
|
|
|
return _path;
|
|
}
|
|
|
|
const char *cl_fixture(const char *fixture_name)
|
|
{
|
|
return fixture_path(CLAR_FIXTURE_PATH, fixture_name);
|
|
}
|
|
|
|
void cl_fixture_sandbox(const char *fixture_name)
|
|
{
|
|
fs_copy(cl_fixture(fixture_name), clar_sandbox_path());
|
|
}
|
|
|
|
const char *cl_fixture_basename(const char *fixture_name)
|
|
{
|
|
const char *p;
|
|
|
|
for (p = fixture_name; *p; p++) {
|
|
if (p[0] == '/' && p[1] && p[1] != '/')
|
|
fixture_name = p+1;
|
|
}
|
|
|
|
return fixture_name;
|
|
}
|
|
|
|
void cl_fixture_cleanup(const char *fixture_name)
|
|
{
|
|
fs_rm(fixture_path(clar_sandbox_path(), cl_fixture_basename(fixture_name)));
|
|
}
|
|
#endif
|