Example #1
0
bool ContainsNoCase(const std::string &strTarget, const std::string &strContent){
    std::string target = MakeLowercase(strTarget);
    std::string content = MakeLowercase(strContent);
    size_t ret = target.find(content);
    if (ret == std::string::npos)
        return false;
    else
        return true;
}
Example #2
0
int* wiimenu_buildgamelist(char* root, gamelistentry* gamelist, int max, \
			   gamelistentry *gamesunk, gamelistentry *gamesfdd, gamelistentry *gameshdd)
{
	int i = 0;
	int *sizes = malloc(sizeof(int) * BASETYPE_COUNT);
	gamelistentry *games;
	memset(sizes, 0, BASETYPE_COUNT * sizeof(int));
	DIR_ITER * dirIter = NULL;
	dirIter = diropen(root);
	if(dirIter == NULL) {
#ifdef DEBUG_NP2
		printf("Couldn't open %s\n", root);
		sleep(5);
#endif //DEBUG_NP2
		return NULL;
	}
	char filename[MAXPATHLEN];
        struct stat filestat;
	int res;
	int type, basetype;
        for(i = 0; i < max; i++) {
		if(time_to_leave)
			break;
		res = dirnext(dirIter, filename, &filestat);
		
		if(res != 0)
			break;
		char *origname = strdup(filename);
		MakeLowercase(filename);
		type = GetFiletype(filename);
		basetype = GetBasetype(type);
		
		switch(basetype) {
			case BASETYPE_UNKNOWN:
				games = gamesunk;
				break;
			case BASETYPE_FDD:
				games = gamesfdd;
				break;
			case BASETYPE_HDD:
				games = gameshdd;
				break;
		}
		games[sizes[basetype]].path = calloc(strlen(filename) + 1, 1);
		strncpy(games[sizes[basetype]].path, filename, strlen(filename));
		games[sizes[basetype]].isdir = (filestat.st_mode & _IFDIR) == 0 ? 0 : 1;
		games[sizes[basetype]].type = type;
		games[sizes[basetype]].basetype = basetype;
		
		if(games[sizes[basetype]].isdir) {
			if(strcmp(filename, "..") == 0)
				sizes[basetype]--;
			else if(strcmp(filename, ".") == 0)
				sizes[basetype]--;
			else {
				games[sizes[basetype]].name = calloc(strlen(origname) + 1, 1);
				strncpy(games[sizes[basetype]].name, origname, strlen(origname) + 1);
			}
		}else{
			games[sizes[basetype]].name = calloc(strlen(origname) + 1, 1);
			strncpy(games[sizes[basetype]].name, origname, strlen(origname) + 1);
		}
		sizes[basetype]++;
	}
	
	// Sort the file lists
        if(sizes[BASETYPE_UNKNOWN] >= 0)
		qsort(gamesunk, sizes[BASETYPE_UNKNOWN], sizeof(gamelistentry), sortgames_cb);
        if(sizes[BASETYPE_HDD] >= 0)
		qsort(gameshdd, sizes[BASETYPE_HDD], sizeof(gamelistentry), sortgames_cb);
        if(sizes[BASETYPE_FDD] >= 0)
		qsort(gamesfdd, sizes[BASETYPE_FDD], sizeof(gamelistentry), sortgames_cb);
	
	dirclose(dirIter);	// close directory
	return sizes;
}
Example #3
0
int CompareNoCase(const std::string &strLeft, const std::string &strRight){
    std::string left = MakeLowercase(strLeft);
    std::string right = MakeLowercase(strRight);
    int ret = left.compare(right);
    return ret;
}