aboutsummaryrefslogtreecommitdiff
path: root/test-path-utils.c
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2009-02-19 20:10:49 +0100
committerJunio C Hamano <gitster@pobox.com>2009-02-19 22:45:48 -0800
commit4fcc86b07db26da17f17af0fd777cab78fcaaf4c (patch)
tree078378b5ea1dcae57f9a2602c71370cb1a962c74 /test-path-utils.c
parent25487f8e2ae266936df0f807ae79dca41606e404 (diff)
downloadgit-4fcc86b07db26da17f17af0fd777cab78fcaaf4c.tar.gz
git-4fcc86b07db26da17f17af0fd777cab78fcaaf4c.tar.xz
Introduce the function strip_path_suffix()
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: strip_path_suffix("C:\\msysgit/\\libexec\\git-core", "libexec///git-core", &prefix) will set prefix to "C:\\msysgit" and return 0. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'test-path-utils.c')
-rw-r--r--test-path-utils.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/test-path-utils.c b/test-path-utils.c
index 5168a8e3d..d261398d6 100644
--- a/test-path-utils.c
+++ b/test-path-utils.c
@@ -26,6 +26,12 @@ int main(int argc, char **argv)
return 0;
}
+ 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;
+ }
+
fprintf(stderr, "%s: unknown function name: %s\n", argv[0],
argv[1] ? argv[1] : "(there was none)");
return 1;