From 34070f0b937f2559e754c67520a5c188461d9110 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Sat, 27 Jan 2001 15:28:57 +0000 Subject: [PATCH] Make fn_has_ext() case insensitive by default. committer: mfx 980609337 +0000 --- src/util.cpp | 7 +++++-- src/util.h | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/util.cpp b/src/util.cpp index eea8512e..e2188f2b 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -212,7 +212,7 @@ char *fn_basename(const char *name) } -bool fn_has_ext(const char *name, const char *ext) +bool fn_has_ext(const char *name, const char *ext, bool ignore_case) { const char *n, *e; @@ -220,7 +220,10 @@ bool fn_has_ext(const char *name, const char *ext) for (n = e = name; *n; n++) if (*n == '.') e = n; - return (fn_strcmp(ext,e+1) == 0); + if (ignore_case) + return (strcasecmp(ext,e+1) == 0); + else + return (fn_strcmp(ext,e+1) == 0); } diff --git a/src/util.h b/src/util.h index d507349a..926c3e98 100644 --- a/src/util.h +++ b/src/util.h @@ -40,7 +40,7 @@ int upx_vsnprintf(char *str, long n, const char *format, va_list ap); char *fn_basename(const char *name); int fn_strcmp(const char *n1, const char *n2); char *fn_strlwr(char *n); -bool fn_has_ext(const char *name, const char *ext); +bool fn_has_ext(const char *name, const char *ext, bool ignore_case=true); bool file_exists(const char *name); bool maketempname(char *ofilename, const char *ifilename,