Skip to content

Commit 6e14df9

Browse files
committed
Merge branch 'rs/in-obsd-basename-dirname-take-const'
Portability fix. * rs/in-obsd-basename-dirname-take-const: test-path-utils: handle const parameter of basename and dirname
2 parents 33e5880 + 29c2eda commit 6e14df9

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

t/helper/test-path-utils.c

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,20 @@ struct test_data {
3838
const char *alternative; /* output: ... or this. */
3939
};
4040

41+
/*
42+
* Compatibility wrappers for OpenBSD, whose basename(3) and dirname(3)
43+
* have const parameters.
44+
*/
45+
static char *posix_basename(char *path)
46+
{
47+
return basename(path);
48+
}
49+
50+
static char *posix_dirname(char *path)
51+
{
52+
return dirname(path);
53+
}
54+
4155
static int test_function(struct test_data *data, char *(*func)(char *input),
4256
const char *funcname)
4357
{
@@ -251,10 +265,10 @@ int cmd_main(int argc, const char **argv)
251265
}
252266

253267
if (argc == 2 && !strcmp(argv[1], "basename"))
254-
return test_function(basename_data, basename, argv[1]);
268+
return test_function(basename_data, posix_basename, argv[1]);
255269

256270
if (argc == 2 && !strcmp(argv[1], "dirname"))
257-
return test_function(dirname_data, dirname, argv[1]);
271+
return test_function(dirname_data, posix_dirname, argv[1]);
258272

259273
fprintf(stderr, "%s: unknown function name: %s\n", argv[0],
260274
argv[1] ? argv[1] : "(there was none)");

0 commit comments

Comments
 (0)