static void Create_GC_List(char *FullPath) { FILE *fp = fopen(FullPath, "rb"); if(!fp && strstr(FullPath, "/root") != NULL) //fst folder { *(strstr(FullPath, "/root") + 1) = '\0'; if(strlen(FullPath) + FST_APPEND_SIZE < MAX_MSG_SIZE) strcat(FullPath, FST_APPEND); fp = fopen(FullPath, "rb"); } if(fp) { fread((void*)&gc_hdr, 1, sizeof(gc_discHdr), fp); if(gc_hdr.magic == GC_MAGIC) { AddISO((const char*)gc_hdr.id, (const char*)gc_hdr.title, FullPath, 0x000000, TYPE_GC_GAME); /* Check for disc 2 */ fseek(fp, 6, SEEK_SET); fread(gc_disc, 1, 1, fp); if(gc_disc[0]) { wcslcat(m_gameList.back().title, L" disc 2", 63); m_gameList.back().settings[0] = 1; } } fclose(fp); } }
size_t SDL_wcslcat(wchar_t *dst, const wchar_t *src, size_t maxlen) { #if defined(HAVE_WCSLCAT) return wcslcat(dst, src, maxlen); #else size_t dstlen = SDL_wcslen(dst); size_t srclen = SDL_wcslen(src); if (dstlen < maxlen) { SDL_wcslcpy(dst + dstlen, src, maxlen - dstlen); } return dstlen + srclen; #endif /* HAVE_WCSLCAT */ }