mirror of
https://github.com/git/git.git
synced 2026-03-13 18:33:25 +01:00
The function strip_path_suffix() will try to strip a given suffix from
a given path. The suffix must start at a directory boundary (i.e. "core"
is not a path suffix of "libexec/git-core", but "git-core" is).
Arbitrary runs of directory separators ("slashes") are assumed identical.
Example:
prefix = strip_path_suffix("C:\\msysgit/\\libexec\\git-core",
"libexec///git-core");
will set prefix to "C:\\msysgit".
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
32 lines
724 B
C
32 lines
724 B
C
#include "cache.h"
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
if (argc == 3 && !strcmp(argv[1], "normalize_absolute_path")) {
|
|
char *buf = xmalloc(PATH_MAX + 1);
|
|
int rv = normalize_absolute_path(buf, argv[2]);
|
|
assert(strlen(buf) == rv);
|
|
puts(buf);
|
|
}
|
|
|
|
if (argc >= 2 && !strcmp(argv[1], "make_absolute_path")) {
|
|
while (argc > 2) {
|
|
puts(make_absolute_path(argv[2]));
|
|
argc--;
|
|
argv++;
|
|
}
|
|
}
|
|
|
|
if (argc == 4 && !strcmp(argv[1], "longest_ancestor_length")) {
|
|
int len = longest_ancestor_length(argv[2], argv[3]);
|
|
printf("%d\n", len);
|
|
}
|
|
|
|
if (argc == 4 && !strcmp(argv[1], "strip_path_suffix")) {
|
|
char *prefix = strip_path_suffix(argv[2], argv[3]);
|
|
printf("%s\n", prefix ? prefix : "(null)");
|
|
}
|
|
|
|
return 0;
|
|
}
|