From 4066aff5e481941585c5958460c39a1b1399ce88 Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Wed, 9 May 2012 15:16:44 +0100 Subject: Use win32_execable_file() in test, which and execable.c --- libbb/execable.c | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) (limited to 'libbb') diff --git a/libbb/execable.c b/libbb/execable.c index c2a7bf0ca..ae61a8800 100644 --- a/libbb/execable.c +++ b/libbb/execable.c @@ -35,6 +35,9 @@ int FAST_FUNC execable_file(const char *name) char* FAST_FUNC find_execable(const char *filename, char **PATHp) { char *p, *n; +#if ENABLE_PLATFORM_MINGW32 + char *w; +#endif p = *PATHp; while (p) { @@ -47,29 +50,13 @@ char* FAST_FUNC find_execable(const char *filename, char **PATHp) *PATHp = n; return p; } - if (ENABLE_PLATFORM_MINGW32) { - int len = strlen(p); - if (len > 4 && - (!strcasecmp(p+len-4, ".exe") || - !strcasecmp(p+len-4, ".com"))) - ; /* nothing, already tested by execable_file() */ - else { - char *np = xmalloc(len+4+1); - memcpy(np, p, len); - memcpy(np+len, ".exe", 5); - if (execable_file(np)) { - *PATHp = n; - free(p); - return np; - } - memcpy(np+len, ".com", 5); - if (execable_file(np)) { - *PATHp = n; - free(p); - return np; - } - } +#if ENABLE_PLATFORM_MINGW32 + else if ((w=win32_execable_file(p))) { + *PATHp = n; + free(p); + return w; } +#endif free(p); } p = n; -- cgit v1.2.3-55-g6feb