int NS_WildCardMatch_(const T *str, const T *expr, bool case_insensitive) { int is_valid = NS_WildCardValid(expr); switch(is_valid) { case INVALID_SXP: return -1; default: return ::ns_WildCardMatch(str, expr, case_insensitive); } }
//--------------------------------------------- // nsZipArchive::FindInit //--------------------------------------------- PRInt32 nsZipArchive::FindInit(const char * aPattern, nsZipFind **aFind) { if (!aFind) return ZIP_ERR_PARAM; // null out param in case an error happens *aFind = NULL; PRBool regExp = PR_FALSE; char* pattern = 0; // Create synthetic directory entries on demand nsresult rv = BuildSynthetics(); if (rv != ZIP_OK) return rv; // validate the pattern if (aPattern) { switch (NS_WildCardValid((char*)aPattern)) { case INVALID_SXP: return ZIP_ERR_PARAM; case NON_SXP: regExp = PR_FALSE; break; case VALID_SXP: regExp = PR_TRUE; break; default: // undocumented return value from RegExpValid! PR_ASSERT(PR_FALSE); return ZIP_ERR_PARAM; } pattern = PL_strdup(aPattern); if (!pattern) return ZIP_ERR_MEMORY; } *aFind = new nsZipFind(this, pattern, regExp); if (!*aFind) { PR_FREEIF(pattern); return ZIP_ERR_MEMORY; } return ZIP_OK; }