Skip to content

Commit 249e05a

Browse files
committed
Simplify file extension code
1 parent df8345b commit 249e05a

File tree

1 file changed

+10
-22
lines changed

1 file changed

+10
-22
lines changed

GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DFileSystem.cpp

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -126,30 +126,18 @@ inline static Bool isImageFileType( GameFileType fileType )
126126
//-------------------------------------------------------------------------------------------------
127127
static 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

Comments
 (0)