@@ -126,30 +126,18 @@ inline static Bool isImageFileType( GameFileType fileType )
126126// -------------------------------------------------------------------------------------------------
127127static GameFileType getFileType ( char const *filename )
128128{
129- const Int EXT_LEN = 32 ;
130- char extension[EXT_LEN];
131- extension[0 ] = 0 ;
132- Int i = strlen (filename);
133- i--;
134- Int extLen = 1 ;
135- while (i>0 && extLen < EXT_LEN) {
136- if (filename[i] == ' .' ) {
137- strcpy (extension, filename+i);
138- break ;
139- }
140- i--;
141- extLen++;
129+ if (char const *extension = strrchr ( filename, ' .' ))
130+ {
131+ // test the extension to recognize a few key file types
132+ if ( stricmp ( extension, " .w3d" ) == 0 )
133+ return FILE_TYPE_W3D;
134+ else if ( stricmp ( extension, " .tga" ) == 0 )
135+ return FILE_TYPE_TGA;
136+ else if ( stricmp ( extension, " .dds" ) == 0 )
137+ return FILE_TYPE_DDS;
142138 }
143139
144- // test the extension to recognize a few key file types
145- if ( stricmp ( extension, " .w3d" ) == 0 )
146- return FILE_TYPE_W3D;
147- else if ( stricmp ( extension, " .tga" ) == 0 )
148- return FILE_TYPE_TGA;
149- else if ( stricmp ( extension, " .dds" ) == 0 )
150- return FILE_TYPE_DDS;
151- else
152- return FILE_TYPE_COMPLETELY_UNKNOWN; // MBL FILE_TYPE_UNKNOWN change due to compile error
140+ return FILE_TYPE_COMPLETELY_UNKNOWN; // MBL FILE_TYPE_UNKNOWN change due to compile error
153141}
154142
155143// -------------------------------------------------------------------------------------------------
0 commit comments