diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2009-02-19 20:10:49 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-02-19 22:45:48 -0800 |
commit | 4fcc86b07db26da17f17af0fd777cab78fcaaf4c (patch) | |
tree | 078378b5ea1dcae57f9a2602c71370cb1a962c74 /test-path-utils.c | |
parent | 25487f8e2ae266936df0f807ae79dca41606e404 (diff) | |
download | git-4fcc86b07db26da17f17af0fd777cab78fcaaf4c.tar.gz |
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.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/test-path-utils.c b/test-path-utils.c index 5168a8e3df..d261398d6c 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; |