You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by wr...@apache.org on 2011/05/02 23:49:55 UTC
svn commit: r1098804 - /apr/apr/branches/1.5.x/strings/apr_fnmatch.c
Author: wrowe
Date: Mon May 2 21:49:55 2011
New Revision: 1098804
URL: http://svn.apache.org/viewvc?rev=1098804&view=rev
Log:
Resolve issue identified by Jeff Trawick; '*?' was handled
correctly, while 'x?' was not. Resolves one alert, assignment
within conditional expression, for pedantic compilers.
Forward ports: r1098799
Modified:
apr/apr/branches/1.5.x/strings/apr_fnmatch.c
Modified: apr/apr/branches/1.5.x/strings/apr_fnmatch.c
URL: http://svn.apache.org/viewvc/apr/apr/branches/1.5.x/strings/apr_fnmatch.c?rev=1098804&r1=1098803&r2=1098804&view=diff
==============================================================================
--- apr/apr/branches/1.5.x/strings/apr_fnmatch.c (original)
+++ apr/apr/branches/1.5.x/strings/apr_fnmatch.c Mon May 2 21:49:55 2011
@@ -152,7 +152,7 @@ static __inline int fnmatch_ch(const cha
}
else if (**pattern == '?') {
/* Optimize '?' match before unescaping **pattern */
- if (!**string || (!slash || (**string != '/')))
+ if (!**string || (slash && (**string == '/')))
return APR_FNM_NOMATCH;
result = 0;
goto fnmatch_ch_success;
@@ -225,7 +225,8 @@ APR_DECLARE(int) apr_fnmatch(const char
* Presumes '/' character is unique, not composite in any MBCS encoding
*/
if (slash) {
- if (!(strendseg = strchr(string, '/')))
+ strendseg = strchr(string, '/');
+ if (!strendseg)
strendseg = strchr(string, '\0');
}
else {