Merge branch 'na/strtoimax'
[git] / test-path-utils.c
1 #include "cache.h"
2
3 int main(int argc, char **argv)
4 {
5         if (argc == 3 && !strcmp(argv[1], "normalize_path_copy")) {
6                 char *buf = xmalloc(PATH_MAX + 1);
7                 int rv = normalize_path_copy(buf, argv[2]);
8                 if (rv)
9                         buf = "++failed++";
10                 puts(buf);
11                 return 0;
12         }
13
14         if (argc >= 2 && !strcmp(argv[1], "real_path")) {
15                 while (argc > 2) {
16                         puts(real_path(argv[2]));
17                         argc--;
18                         argv++;
19                 }
20                 return 0;
21         }
22
23         if (argc >= 2 && !strcmp(argv[1], "absolute_path")) {
24                 while (argc > 2) {
25                         puts(absolute_path(argv[2]));
26                         argc--;
27                         argv++;
28                 }
29                 return 0;
30         }
31
32         if (argc == 4 && !strcmp(argv[1], "longest_ancestor_length")) {
33                 int len = longest_ancestor_length(argv[2], argv[3]);
34                 printf("%d\n", len);
35                 return 0;
36         }
37
38         if (argc >= 4 && !strcmp(argv[1], "prefix_path")) {
39                 char *prefix = argv[2];
40                 int prefix_len = strlen(prefix);
41                 int nongit_ok;
42                 setup_git_directory_gently(&nongit_ok);
43                 while (argc > 3) {
44                         puts(prefix_path(prefix, prefix_len, argv[3]));
45                         argc--;
46                         argv++;
47                 }
48                 return 0;
49         }
50
51         if (argc == 4 && !strcmp(argv[1], "strip_path_suffix")) {
52                 char *prefix = strip_path_suffix(argv[2], argv[3]);
53                 printf("%s\n", prefix ? prefix : "(null)");
54                 return 0;
55         }
56
57         fprintf(stderr, "%s: unknown function name: %s\n", argv[0],
58                 argv[1] ? argv[1] : "(there was none)");
59         return 1;
60 }