|
|
|
@ -599,23 +599,23 @@ |
|
|
|
|
/* each token is an immediate containing the name of the axis */ |
|
|
|
|
for ( n = 0; n < num_axis; n++ ) |
|
|
|
|
{ |
|
|
|
|
T1_Token token = axis_tokens + n; |
|
|
|
|
FT_Byte* name; |
|
|
|
|
FT_PtrDist len; |
|
|
|
|
T1_Token token = axis_tokens + n; |
|
|
|
|
FT_Byte* name; |
|
|
|
|
FT_UInt len; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* skip first slash, if any */ |
|
|
|
|
if ( token->start[0] == '/' ) |
|
|
|
|
token->start++; |
|
|
|
|
|
|
|
|
|
len = token->limit - token->start; |
|
|
|
|
len = (FT_UInt)( token->limit - token->start ); |
|
|
|
|
if ( len == 0 ) |
|
|
|
|
{ |
|
|
|
|
error = FT_THROW( Invalid_File_Format ); |
|
|
|
|
goto Exit; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ( FT_ALLOC( blend->axis_names[n], (FT_Long)( len + 1 ) ) ) |
|
|
|
|
if ( FT_ALLOC( blend->axis_names[n], len + 1 ) ) |
|
|
|
|
goto Exit; |
|
|
|
|
|
|
|
|
|
name = (FT_Byte*)blend->axis_names[n]; |
|
|
|
@ -1285,7 +1285,7 @@ |
|
|
|
|
|
|
|
|
|
if ( cur + 2 < limit && *cur == '/' && n < count ) |
|
|
|
|
{ |
|
|
|
|
FT_PtrDist len; |
|
|
|
|
FT_UInt len; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cur++; |
|
|
|
@ -1297,7 +1297,7 @@ |
|
|
|
|
if ( parser->root.error ) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
len = parser->root.cursor - cur; |
|
|
|
|
len = (FT_UInt)( parser->root.cursor - cur ); |
|
|
|
|
|
|
|
|
|
parser->root.error = T1_Add_Table( char_table, charcode, |
|
|
|
|
cur, len + 1 ); |
|
|
|
@ -1606,7 +1606,7 @@ |
|
|
|
|
|
|
|
|
|
if ( *cur == '/' ) |
|
|
|
|
{ |
|
|
|
|
FT_PtrDist len; |
|
|
|
|
FT_UInt len; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( cur + 2 >= limit ) |
|
|
|
@ -1616,7 +1616,7 @@ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
cur++; /* skip `/' */ |
|
|
|
|
len = parser->root.cursor - cur; |
|
|
|
|
len = (FT_UInt)( parser->root.cursor - cur ); |
|
|
|
|
|
|
|
|
|
if ( !read_binary_data( parser, &size, &base, IS_INCREMENTAL ) ) |
|
|
|
|
return; |
|
|
|
@ -1928,7 +1928,7 @@ |
|
|
|
|
/* look for immediates */ |
|
|
|
|
else if ( *cur == '/' && cur + 2 < limit ) |
|
|
|
|
{ |
|
|
|
|
FT_PtrDist len; |
|
|
|
|
FT_UInt len; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cur++; |
|
|
|
@ -1938,7 +1938,7 @@ |
|
|
|
|
if ( parser->root.error ) |
|
|
|
|
goto Exit; |
|
|
|
|
|
|
|
|
|
len = parser->root.cursor - cur; |
|
|
|
|
len = (FT_UInt)( parser->root.cursor - cur ); |
|
|
|
|
|
|
|
|
|
if ( len > 0 && len < 22 && parser->root.cursor < limit ) |
|
|
|
|
{ |
|
|
|
@ -1955,9 +1955,9 @@ |
|
|
|
|
if ( !name ) |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
if ( cur[0] == name[0] && |
|
|
|
|
len == (FT_PtrDist)ft_strlen( (const char *)name ) && |
|
|
|
|
ft_memcmp( cur, name, len ) == 0 ) |
|
|
|
|
if ( cur[0] == name[0] && |
|
|
|
|
len == ft_strlen( (const char *)name ) && |
|
|
|
|
ft_memcmp( cur, name, len ) == 0 ) |
|
|
|
|
{ |
|
|
|
|
/* We found it -- run the parsing callback! */ |
|
|
|
|
/* We record every instance of every field */ |
|
|
|
|