Changeset 135 for trunk/src/helpers/dosh2.c
- Timestamp:
- Jan 31, 2002, 11:12:45 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/helpers/dosh2.c
r129 r135 2113 2113 * one will. 2114 2114 * 2115 * -- THIS COMPARES WITH RESPECT TO CASE. 2116 * 2115 2117 * This replaces strhMatchOS2 which has been removed with 2116 2118 * V0.9.16 and is a lot faster than the old code, which has … … 2120 2122 */ 2121 2123 2122 BOOL doshMatch (const char *pcszMask, // in: mask (e.g. "*.txt")2123 const char *pcszName) // in: string to check (e.g. "test.txt")2124 BOOL doshMatchCase(const char *pcszMask, // in: mask (e.g. "*.TXT") 2125 const char *pcszName) // in: string to check (e.g. "TEST.TXT") 2124 2126 { 2125 2127 BOOL brc = FALSE; … … 2128 2130 iNameDrive = -1; 2129 2131 2130 ULONG cbMask = strlen(pcszMask),2131 cbName = strlen(pcszName);2132 PSZ pszMask = (PSZ)_alloca(cbMask + 1),2133 pszName = (PSZ)_alloca(cbName + 1);2132 // ULONG cbMask = strlen(pcszMask), 2133 // cbName = strlen(pcszName); 2134 // PSZ pszMask = (PSZ)_alloca(cbMask + 1), 2135 // pszName = (PSZ)_alloca(cbName + 1); 2134 2136 2135 2137 PCSZ pLastMaskComponent, … … 2141 2143 CHAR c; 2142 2144 2143 memcpy(pszMask, pcszMask, cbMask + 1); 2144 nlsUpper(pszMask, cbMask); 2145 memcpy(pszName, pcszName, cbName + 1); 2146 nlsUpper(pszName, cbName); 2147 2148 if (pLastMaskComponent = strrchr(pszMask, '\\')) 2145 if (pLastMaskComponent = strrchr(pcszMask, '\\')) 2149 2146 { 2150 2147 // length of path component 2151 cbMaskPath = pLastMaskComponent - p szMask;2148 cbMaskPath = pLastMaskComponent - pcszMask; 2152 2149 pLastMaskComponent++; 2153 2150 } 2154 2151 else 2155 pLastMaskComponent = p szMask;2156 2157 if (pLastNameComponent = strrchr(p szName, '\\'))2152 pLastMaskComponent = pcszMask; 2153 2154 if (pLastNameComponent = strrchr(pcszName, '\\')) 2158 2155 { 2159 2156 // length of path component 2160 cbNamePath = pLastNameComponent - p szName;2157 cbNamePath = pLastNameComponent - pcszName; 2161 2158 pLastNameComponent++; 2162 2159 } 2163 2160 else 2164 pLastNameComponent = p szName;2161 pLastNameComponent = pcszName; 2165 2162 2166 2163 // compare paths; if the lengths are different … … 2168 2165 if ( (cbMaskPath == cbNamePath) // can both be null 2169 2166 && ( (cbMaskPath == 0) 2170 || (!memcmp(p szMask, pszName, cbMaskPath))2167 || (!memcmp(pcszMask, pcszName, cbMaskPath)) 2171 2168 ) 2172 2169 ) … … 2183 2180 } 2184 2181 2185 2182 /* 2183 *@@ doshMatch: 2184 * like doshMatchCase, but compares without respect 2185 * to case. 2186 * 2187 *@@added V0.9.16 (2002-01-26) [umoeller] 2188 */ 2189 2190 BOOL doshMatch(const char *pcszMask, // in: mask (e.g. "*.TXT") 2191 const char *pcszName) // in: string to check (e.g. "TEST.TXT") 2192 { 2193 ULONG cbMask = strlen(pcszMask), 2194 cbName = strlen(pcszName); 2195 PSZ pszMask = (PSZ)_alloca(cbMask + 1), 2196 pszName = (PSZ)_alloca(cbName + 1); 2197 2198 memcpy(pszMask, pcszMask, cbMask + 1); 2199 nlsUpper(pszMask, cbMask); 2200 memcpy(pszName, pcszName, cbName + 1); 2201 nlsUpper(pszName, cbName); 2202 2203 return (doshMatchCase(pszMask, 2204 pszName)); 2205 }
Note:
See TracChangeset
for help on using the changeset viewer.