From 2724dfbd17552f892a0d8b39b96cbe9e49d66fdb Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 6 Nov 2022 10:12:21 -0500 Subject: xspawn: Use _PATH_DEFPATH if _CS_PATH is not defined And set errno correctly if neither one is. Fixes tests/posix/exec_nopath on Android. --- src/xspawn.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/xspawn.c') diff --git a/src/xspawn.c b/src/xspawn.c index 67e0572..43a6f1c 100644 --- a/src/xspawn.c +++ b/src/xspawn.c @@ -24,6 +24,10 @@ #include #include +#if BFS_HAS_PATHS +# include +#endif + /** * Types of spawn actions. */ @@ -260,11 +264,15 @@ char *bfs_spawn_resolve(const char *exe) { const char *path = getenv("PATH"); char *confpath = NULL; -#ifdef _CS_PATH if (!path) { +#if defined(_CS_PATH) path = confpath = xconfstr(_CS_PATH); - } +#elif defined(_PATH_DEFPATH) + path = _PATH_DEFPATH; +#else + errno = ENOENT; #endif + } if (!path) { return NULL; } -- cgit v1.2.3