{
REGULAR_IMAGE,
N_PATCH,
- SVG
+ SVG,
+ GIF
};
}
// parsing from the end for better chance of early outs
enum { SUFFIX, HASH, HASH_DOT } state = SUFFIX;
char SVG[ 4 ] = { 'g', 'v', 's', '.' };
+ char GIF[ 4 ] = { 'f', 'i', 'g', '.' };
unsigned int svgScore = 0;
+ unsigned int gifScore = 0;
int index = count;
while( --index >= 0 )
{
return UrlType::SVG;
}
}
+ if( ( offsetFromEnd < sizeof(GIF) )&&( tolower( currentChar ) == GIF[ offsetFromEnd ] ) )
+ {
+ // early out if GIF
+ if( ++gifScore == sizeof(GIF) )
+ {
+ return UrlType::GIF;
+ }
+ }
switch( state )
{
case SUFFIX: