OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* ftrfork.c */ | 3 /* ftrfork.c */ |
4 /* */ | 4 /* */ |
5 /* Embedded resource forks accessor (body). */ | 5 /* Embedded resource forks accessor (body). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010 by */ | 7 /* Copyright 2004-2010, 2013 by */ |
8 /* Masatake YAMATO and Redhat K.K. */ | 8 /* Masatake YAMATO and Redhat K.K. */ |
9 /* */ | 9 /* */ |
10 /* FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are */ | 10 /* FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are */ |
11 /* derived from ftobjs.c. */ | 11 /* derived from ftobjs.c. */ |
12 /* */ | 12 /* */ |
13 /* This file is part of the FreeType project, and may only be used, */ | 13 /* This file is part of the FreeType project, and may only be used, */ |
14 /* modified, and distributed under the terms of the FreeType project */ | 14 /* modified, and distributed under the terms of the FreeType project */ |
15 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 15 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
16 /* this file you indicate that you have read the license and */ | 16 /* this file you indicate that you have read the license and */ |
17 /* understand and accept it fully. */ | 17 /* understand and accept it fully. */ |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 ( head[6] << 8 ) | | 79 ( head[6] << 8 ) | |
80 head[7] ); | 80 head[7] ); |
81 rdata_len = ( head[ 8] << 24 ) | | 81 rdata_len = ( head[ 8] << 24 ) | |
82 ( head[ 9] << 16 ) | | 82 ( head[ 9] << 16 ) | |
83 ( head[10] << 8 ) | | 83 ( head[10] << 8 ) | |
84 head[11]; | 84 head[11]; |
85 | 85 |
86 /* map_len = head[12] .. head[15] */ | 86 /* map_len = head[12] .. head[15] */ |
87 | 87 |
88 if ( *rdata_pos + rdata_len != map_pos || map_pos == rfork_offset ) | 88 if ( *rdata_pos + rdata_len != map_pos || map_pos == rfork_offset ) |
89 return FT_Err_Unknown_File_Format; | 89 return FT_THROW( Unknown_File_Format ); |
90 | 90 |
91 error = FT_Stream_Seek( stream, map_pos ); | 91 error = FT_Stream_Seek( stream, map_pos ); |
92 if ( error ) | 92 if ( error ) |
93 return error; | 93 return error; |
94 | 94 |
95 head2[15] = (FT_Byte)( head[15] + 1 ); /* make it be different */ | 95 head2[15] = (FT_Byte)( head[15] + 1 ); /* make it be different */ |
96 | 96 |
97 error = FT_Stream_Read( stream, (FT_Byte*)head2, 16 ); | 97 error = FT_Stream_Read( stream, (FT_Byte*)head2, 16 ); |
98 if ( error ) | 98 if ( error ) |
99 return error; | 99 return error; |
100 | 100 |
101 allzeros = 1; | 101 allzeros = 1; |
102 allmatch = 1; | 102 allmatch = 1; |
103 for ( i = 0; i < 16; ++i ) | 103 for ( i = 0; i < 16; ++i ) |
104 { | 104 { |
105 if ( head2[i] != 0 ) | 105 if ( head2[i] != 0 ) |
106 allzeros = 0; | 106 allzeros = 0; |
107 if ( head2[i] != head[i] ) | 107 if ( head2[i] != head[i] ) |
108 allmatch = 0; | 108 allmatch = 0; |
109 } | 109 } |
110 if ( !allzeros && !allmatch ) | 110 if ( !allzeros && !allmatch ) |
111 return FT_Err_Unknown_File_Format; | 111 return FT_THROW( Unknown_File_Format ); |
112 | 112 |
113 /* If we have reached this point then it is probably a mac resource */ | 113 /* If we have reached this point then it is probably a mac resource */ |
114 /* file. Now, does it contain any interesting resources? */ | 114 /* file. Now, does it contain any interesting resources? */ |
115 /* Skip handle to next resource map, the file resource number, and */ | 115 /* Skip handle to next resource map, the file resource number, and */ |
116 /* attributes. */ | 116 /* attributes. */ |
117 (void)FT_STREAM_SKIP( 4 /* skip handle to next resource map */ | 117 (void)FT_STREAM_SKIP( 4 /* skip handle to next resource map */ |
118 + 2 /* skip file resource number */ | 118 + 2 /* skip file resource number */ |
119 + 2 ); /* skip attributes */ | 119 + 2 ); /* skip attributes */ |
120 | 120 |
121 if ( FT_READ_USHORT( type_list ) ) | 121 if ( FT_READ_USHORT( type_list ) ) |
122 return error; | 122 return error; |
123 if ( type_list == -1 ) | 123 if ( type_list == -1 ) |
124 return FT_Err_Unknown_File_Format; | 124 return FT_THROW( Unknown_File_Format ); |
125 | 125 |
126 error = FT_Stream_Seek( stream, map_pos + type_list ); | 126 error = FT_Stream_Seek( stream, map_pos + type_list ); |
127 if ( error ) | 127 if ( error ) |
128 return error; | 128 return error; |
129 | 129 |
130 *map_offset = map_pos + type_list; | 130 *map_offset = map_pos + type_list; |
131 return FT_Err_Ok; | 131 return FT_Err_Ok; |
132 } | 132 } |
133 | 133 |
134 | 134 |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 | 226 |
227 *offsets = offsets_internal; | 227 *offsets = offsets_internal; |
228 error = FT_Err_Ok; | 228 error = FT_Err_Ok; |
229 | 229 |
230 Exit: | 230 Exit: |
231 FT_FREE( ref ); | 231 FT_FREE( ref ); |
232 return error; | 232 return error; |
233 } | 233 } |
234 } | 234 } |
235 | 235 |
236 return FT_Err_Cannot_Open_Resource; | 236 return FT_THROW( Cannot_Open_Resource ); |
237 } | 237 } |
238 | 238 |
239 | 239 |
240 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK | 240 #ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK |
241 | 241 |
242 /*************************************************************************/ | 242 /*************************************************************************/ |
243 /*************************************************************************/ | 243 /*************************************************************************/ |
244 /*************************************************************************/ | 244 /*************************************************************************/ |
245 /**** ****/ | 245 /**** ****/ |
246 /**** ****/ | 246 /**** ****/ |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 const char *insertion ); | 355 const char *insertion ); |
356 | 356 |
357 FT_BASE_DEF( void ) | 357 FT_BASE_DEF( void ) |
358 FT_Raccess_Guess( FT_Library library, | 358 FT_Raccess_Guess( FT_Library library, |
359 FT_Stream stream, | 359 FT_Stream stream, |
360 char* base_name, | 360 char* base_name, |
361 char **new_names, | 361 char **new_names, |
362 FT_Long *offsets, | 362 FT_Long *offsets, |
363 FT_Error *errors ) | 363 FT_Error *errors ) |
364 { | 364 { |
365 FT_Long i; | 365 FT_Int i; |
366 | 366 |
367 | 367 |
368 for ( i = 0; i < FT_RACCESS_N_RULES; i++ ) | 368 for ( i = 0; i < FT_RACCESS_N_RULES; i++ ) |
369 { | 369 { |
370 new_names[i] = NULL; | 370 new_names[i] = NULL; |
371 if ( NULL != stream ) | 371 if ( NULL != stream ) |
372 errors[i] = FT_Stream_Seek( stream, 0 ); | 372 errors[i] = FT_Stream_Seek( stream, 0 ); |
373 else | 373 else |
374 errors[i] = FT_Err_Ok; | 374 errors[i] = FT_Err_Ok; |
375 | 375 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 FT_Long *result_offset ) | 428 FT_Long *result_offset ) |
429 { | 429 { |
430 FT_Int32 magic = ( 0x00 << 24 ) | | 430 FT_Int32 magic = ( 0x00 << 24 ) | |
431 ( 0x05 << 16 ) | | 431 ( 0x05 << 16 ) | |
432 ( 0x16 << 8 ) | | 432 ( 0x16 << 8 ) | |
433 0x07; | 433 0x07; |
434 | 434 |
435 | 435 |
436 *result_file_name = NULL; | 436 *result_file_name = NULL; |
437 if ( NULL == stream ) | 437 if ( NULL == stream ) |
438 return FT_Err_Cannot_Open_Stream; | 438 return FT_THROW( Cannot_Open_Stream ); |
439 | 439 |
440 return raccess_guess_apple_generic( library, stream, base_file_name, | 440 return raccess_guess_apple_generic( library, stream, base_file_name, |
441 magic, result_offset ); | 441 magic, result_offset ); |
442 } | 442 } |
443 | 443 |
444 | 444 |
445 static FT_Error | 445 static FT_Error |
446 raccess_guess_apple_single( FT_Library library, | 446 raccess_guess_apple_single( FT_Library library, |
447 FT_Stream stream, | 447 FT_Stream stream, |
448 char *base_file_name, | 448 char *base_file_name, |
449 char **result_file_name, | 449 char **result_file_name, |
450 FT_Long *result_offset ) | 450 FT_Long *result_offset ) |
451 { | 451 { |
452 FT_Int32 magic = ( 0x00 << 24 ) | | 452 FT_Int32 magic = ( 0x00 << 24 ) | |
453 ( 0x05 << 16 ) | | 453 ( 0x05 << 16 ) | |
454 ( 0x16 << 8 ) | | 454 ( 0x16 << 8 ) | |
455 0x00; | 455 0x00; |
456 | 456 |
457 | 457 |
458 *result_file_name = NULL; | 458 *result_file_name = NULL; |
459 if ( NULL == stream ) | 459 if ( NULL == stream ) |
460 return FT_Err_Cannot_Open_Stream; | 460 return FT_THROW( Cannot_Open_Stream ); |
461 | 461 |
462 return raccess_guess_apple_generic( library, stream, base_file_name, | 462 return raccess_guess_apple_generic( library, stream, base_file_name, |
463 magic, result_offset ); | 463 magic, result_offset ); |
464 } | 464 } |
465 | 465 |
466 | 466 |
467 static FT_Error | 467 static FT_Error |
468 raccess_guess_darwin_ufs_export( FT_Library library, | 468 raccess_guess_darwin_ufs_export( FT_Library library, |
469 FT_Stream stream, | 469 FT_Stream stream, |
470 char *base_file_name, | 470 char *base_file_name, |
471 char **result_file_name, | 471 char **result_file_name, |
472 FT_Long *result_offset ) | 472 FT_Long *result_offset ) |
473 { | 473 { |
474 char* newpath; | 474 char* newpath; |
475 FT_Error error; | 475 FT_Error error; |
476 FT_Memory memory; | 476 FT_Memory memory; |
477 | 477 |
478 FT_UNUSED( stream ); | 478 FT_UNUSED( stream ); |
479 | 479 |
480 | 480 |
481 memory = library->memory; | 481 memory = library->memory; |
482 newpath = raccess_make_file_name( memory, base_file_name, "._" ); | 482 newpath = raccess_make_file_name( memory, base_file_name, "._" ); |
483 if ( !newpath ) | 483 if ( !newpath ) |
484 return FT_Err_Out_Of_Memory; | 484 return FT_THROW( Out_Of_Memory ); |
485 | 485 |
486 error = raccess_guess_linux_double_from_file_name( library, newpath, | 486 error = raccess_guess_linux_double_from_file_name( library, newpath, |
487 result_offset ); | 487 result_offset ); |
488 if ( !error ) | 488 if ( !error ) |
489 *result_file_name = newpath; | 489 *result_file_name = newpath; |
490 else | 490 else |
491 FT_FREE( newpath ); | 491 FT_FREE( newpath ); |
492 | 492 |
493 return error; | 493 return error; |
494 } | 494 } |
495 | 495 |
496 | 496 |
497 static FT_Error | 497 static FT_Error |
498 raccess_guess_darwin_hfsplus( FT_Library library, | 498 raccess_guess_darwin_hfsplus( FT_Library library, |
499 FT_Stream stream, | 499 FT_Stream stream, |
500 char *base_file_name, | 500 char *base_file_name, |
501 char **result_file_name, | 501 char **result_file_name, |
502 FT_Long *result_offset ) | 502 FT_Long *result_offset ) |
503 { | 503 { |
504 /* | 504 /* |
505 Only meaningful on systems with hfs+ drivers (or Macs). | 505 Only meaningful on systems with hfs+ drivers (or Macs). |
506 */ | 506 */ |
507 FT_Error error; | 507 FT_Error error; |
508 char* newpath = NULL; | 508 char* newpath = NULL; |
509 FT_Memory memory; | 509 FT_Memory memory; |
510 FT_Long base_file_len = ft_strlen( base_file_name ); | 510 FT_Long base_file_len = (FT_Long)ft_strlen( base_file_name ); |
511 | 511 |
512 FT_UNUSED( stream ); | 512 FT_UNUSED( stream ); |
513 | 513 |
514 | 514 |
515 memory = library->memory; | 515 memory = library->memory; |
516 | 516 |
517 if ( base_file_len + 6 > FT_INT_MAX ) | 517 if ( base_file_len + 6 > FT_INT_MAX ) |
518 return FT_Err_Array_Too_Large; | 518 return FT_THROW( Array_Too_Large ); |
519 | 519 |
520 if ( FT_ALLOC( newpath, base_file_len + 6 ) ) | 520 if ( FT_ALLOC( newpath, base_file_len + 6 ) ) |
521 return error; | 521 return error; |
522 | 522 |
523 FT_MEM_COPY( newpath, base_file_name, base_file_len ); | 523 FT_MEM_COPY( newpath, base_file_name, base_file_len ); |
524 FT_MEM_COPY( newpath + base_file_len, "/rsrc", 6 ); | 524 FT_MEM_COPY( newpath + base_file_len, "/rsrc", 6 ); |
525 | 525 |
526 *result_file_name = newpath; | 526 *result_file_name = newpath; |
527 *result_offset = 0; | 527 *result_offset = 0; |
528 | 528 |
529 return FT_Err_Ok; | 529 return FT_Err_Ok; |
530 } | 530 } |
531 | 531 |
532 | 532 |
533 static FT_Error | 533 static FT_Error |
534 raccess_guess_darwin_newvfs( FT_Library library, | 534 raccess_guess_darwin_newvfs( FT_Library library, |
535 FT_Stream stream, | 535 FT_Stream stream, |
536 char *base_file_name, | 536 char *base_file_name, |
537 char **result_file_name, | 537 char **result_file_name, |
538 FT_Long *result_offset ) | 538 FT_Long *result_offset ) |
539 { | 539 { |
540 /* | 540 /* |
541 Only meaningful on systems with Mac OS X (> 10.1). | 541 Only meaningful on systems with Mac OS X (> 10.1). |
542 */ | 542 */ |
543 FT_Error error; | 543 FT_Error error; |
544 char* newpath = NULL; | 544 char* newpath = NULL; |
545 FT_Memory memory; | 545 FT_Memory memory; |
546 FT_Long base_file_len = ft_strlen( base_file_name ); | 546 FT_Long base_file_len = (FT_Long)ft_strlen( base_file_name ); |
547 | 547 |
548 FT_UNUSED( stream ); | 548 FT_UNUSED( stream ); |
549 | 549 |
550 | 550 |
551 memory = library->memory; | 551 memory = library->memory; |
552 | 552 |
553 if ( base_file_len + 18 > FT_INT_MAX ) | 553 if ( base_file_len + 18 > FT_INT_MAX ) |
554 return FT_Err_Array_Too_Large; | 554 return FT_THROW( Array_Too_Large ); |
555 | 555 |
556 if ( FT_ALLOC( newpath, base_file_len + 18 ) ) | 556 if ( FT_ALLOC( newpath, base_file_len + 18 ) ) |
557 return error; | 557 return error; |
558 | 558 |
559 FT_MEM_COPY( newpath, base_file_name, base_file_len ); | 559 FT_MEM_COPY( newpath, base_file_name, base_file_len ); |
560 FT_MEM_COPY( newpath + base_file_len, "/..namedfork/rsrc", 18 ); | 560 FT_MEM_COPY( newpath + base_file_len, "/..namedfork/rsrc", 18 ); |
561 | 561 |
562 *result_file_name = newpath; | 562 *result_file_name = newpath; |
563 *result_offset = 0; | 563 *result_offset = 0; |
564 | 564 |
(...skipping 12 matching lines...) Expand all Loading... |
577 FT_Memory memory; | 577 FT_Memory memory; |
578 | 578 |
579 FT_UNUSED( stream ); | 579 FT_UNUSED( stream ); |
580 | 580 |
581 | 581 |
582 memory = library->memory; | 582 memory = library->memory; |
583 | 583 |
584 newpath = raccess_make_file_name( memory, base_file_name, | 584 newpath = raccess_make_file_name( memory, base_file_name, |
585 "resource.frk/" ); | 585 "resource.frk/" ); |
586 if ( !newpath ) | 586 if ( !newpath ) |
587 return FT_Err_Out_Of_Memory; | 587 return FT_THROW( Out_Of_Memory ); |
588 | 588 |
589 *result_file_name = newpath; | 589 *result_file_name = newpath; |
590 *result_offset = 0; | 590 *result_offset = 0; |
591 | 591 |
592 return FT_Err_Ok; | 592 return FT_Err_Ok; |
593 } | 593 } |
594 | 594 |
595 | 595 |
596 static FT_Error | 596 static FT_Error |
597 raccess_guess_linux_cap( FT_Library library, | 597 raccess_guess_linux_cap( FT_Library library, |
598 FT_Stream stream, | 598 FT_Stream stream, |
599 char *base_file_name, | 599 char *base_file_name, |
600 char **result_file_name, | 600 char **result_file_name, |
601 FT_Long *result_offset ) | 601 FT_Long *result_offset ) |
602 { | 602 { |
603 char* newpath; | 603 char* newpath; |
604 FT_Memory memory; | 604 FT_Memory memory; |
605 | 605 |
606 FT_UNUSED( stream ); | 606 FT_UNUSED( stream ); |
607 | 607 |
608 | 608 |
609 memory = library->memory; | 609 memory = library->memory; |
610 | 610 |
611 newpath = raccess_make_file_name( memory, base_file_name, ".resource/" ); | 611 newpath = raccess_make_file_name( memory, base_file_name, ".resource/" ); |
612 if ( !newpath ) | 612 if ( !newpath ) |
613 return FT_Err_Out_Of_Memory; | 613 return FT_THROW( Out_Of_Memory ); |
614 | 614 |
615 *result_file_name = newpath; | 615 *result_file_name = newpath; |
616 *result_offset = 0; | 616 *result_offset = 0; |
617 | 617 |
618 return FT_Err_Ok; | 618 return FT_Err_Ok; |
619 } | 619 } |
620 | 620 |
621 | 621 |
622 static FT_Error | 622 static FT_Error |
623 raccess_guess_linux_double( FT_Library library, | 623 raccess_guess_linux_double( FT_Library library, |
624 FT_Stream stream, | 624 FT_Stream stream, |
625 char *base_file_name, | 625 char *base_file_name, |
626 char **result_file_name, | 626 char **result_file_name, |
627 FT_Long *result_offset ) | 627 FT_Long *result_offset ) |
628 { | 628 { |
629 char* newpath; | 629 char* newpath; |
630 FT_Error error; | 630 FT_Error error; |
631 FT_Memory memory; | 631 FT_Memory memory; |
632 | 632 |
633 FT_UNUSED( stream ); | 633 FT_UNUSED( stream ); |
634 | 634 |
635 | 635 |
636 memory = library->memory; | 636 memory = library->memory; |
637 | 637 |
638 newpath = raccess_make_file_name( memory, base_file_name, "%" ); | 638 newpath = raccess_make_file_name( memory, base_file_name, "%" ); |
639 if ( !newpath ) | 639 if ( !newpath ) |
640 return FT_Err_Out_Of_Memory; | 640 return FT_THROW( Out_Of_Memory ); |
641 | 641 |
642 error = raccess_guess_linux_double_from_file_name( library, newpath, | 642 error = raccess_guess_linux_double_from_file_name( library, newpath, |
643 result_offset ); | 643 result_offset ); |
644 if ( !error ) | 644 if ( !error ) |
645 *result_file_name = newpath; | 645 *result_file_name = newpath; |
646 else | 646 else |
647 FT_FREE( newpath ); | 647 FT_FREE( newpath ); |
648 | 648 |
649 return error; | 649 return error; |
650 } | 650 } |
(...skipping 11 matching lines...) Expand all Loading... |
662 FT_Memory memory; | 662 FT_Memory memory; |
663 | 663 |
664 FT_UNUSED( stream ); | 664 FT_UNUSED( stream ); |
665 | 665 |
666 | 666 |
667 memory = library->memory; | 667 memory = library->memory; |
668 | 668 |
669 newpath = raccess_make_file_name( memory, base_file_name, | 669 newpath = raccess_make_file_name( memory, base_file_name, |
670 ".AppleDouble/" ); | 670 ".AppleDouble/" ); |
671 if ( !newpath ) | 671 if ( !newpath ) |
672 return FT_Err_Out_Of_Memory; | 672 return FT_THROW( Out_Of_Memory ); |
673 | 673 |
674 error = raccess_guess_linux_double_from_file_name( library, newpath, | 674 error = raccess_guess_linux_double_from_file_name( library, newpath, |
675 result_offset ); | 675 result_offset ); |
676 if ( !error ) | 676 if ( !error ) |
677 *result_file_name = newpath; | 677 *result_file_name = newpath; |
678 else | 678 else |
679 FT_FREE( newpath ); | 679 FT_FREE( newpath ); |
680 | 680 |
681 return error; | 681 return error; |
682 } | 682 } |
(...skipping 18 matching lines...) Expand all Loading... |
701 | 701 |
702 FT_UNUSED( library ); | 702 FT_UNUSED( library ); |
703 FT_UNUSED( base_file_name ); | 703 FT_UNUSED( base_file_name ); |
704 FT_UNUSED( version_number ); | 704 FT_UNUSED( version_number ); |
705 FT_UNUSED( entry_length ); | 705 FT_UNUSED( entry_length ); |
706 | 706 |
707 | 707 |
708 if ( FT_READ_LONG( magic_from_stream ) ) | 708 if ( FT_READ_LONG( magic_from_stream ) ) |
709 return error; | 709 return error; |
710 if ( magic_from_stream != magic ) | 710 if ( magic_from_stream != magic ) |
711 return FT_Err_Unknown_File_Format; | 711 return FT_THROW( Unknown_File_Format ); |
712 | 712 |
713 if ( FT_READ_LONG( version_number ) ) | 713 if ( FT_READ_LONG( version_number ) ) |
714 return error; | 714 return error; |
715 | 715 |
716 /* filler */ | 716 /* filler */ |
717 error = FT_Stream_Skip( stream, 16 ); | 717 error = FT_Stream_Skip( stream, 16 ); |
718 if ( error ) | 718 if ( error ) |
719 return error; | 719 return error; |
720 | 720 |
721 if ( FT_READ_USHORT( n_of_entries ) ) | 721 if ( FT_READ_USHORT( n_of_entries ) ) |
722 return error; | 722 return error; |
723 if ( n_of_entries == 0 ) | 723 if ( n_of_entries == 0 ) |
724 return FT_Err_Unknown_File_Format; | 724 return FT_THROW( Unknown_File_Format ); |
725 | 725 |
726 for ( i = 0; i < n_of_entries; i++ ) | 726 for ( i = 0; i < n_of_entries; i++ ) |
727 { | 727 { |
728 if ( FT_READ_LONG( entry_id ) ) | 728 if ( FT_READ_LONG( entry_id ) ) |
729 return error; | 729 return error; |
730 if ( entry_id == resource_fork_entry_id ) | 730 if ( entry_id == resource_fork_entry_id ) |
731 { | 731 { |
732 if ( FT_READ_LONG( entry_offset ) || | 732 if ( FT_READ_LONG( entry_offset ) || |
733 FT_READ_LONG( entry_length ) ) | 733 FT_READ_LONG( entry_length ) ) |
734 continue; | 734 continue; |
735 *result_offset = entry_offset; | 735 *result_offset = entry_offset; |
736 | 736 |
737 return FT_Err_Ok; | 737 return FT_Err_Ok; |
738 } | 738 } |
739 else | 739 else |
740 { | 740 { |
741 error = FT_Stream_Skip( stream, 4 + 4 ); /* offset + length */ | 741 error = FT_Stream_Skip( stream, 4 + 4 ); /* offset + length */ |
742 if ( error ) | 742 if ( error ) |
743 return error; | 743 return error; |
744 } | 744 } |
745 } | 745 } |
746 | 746 |
747 return FT_Err_Unknown_File_Format; | 747 return FT_THROW( Unknown_File_Format ); |
748 } | 748 } |
749 | 749 |
750 | 750 |
751 static FT_Error | 751 static FT_Error |
752 raccess_guess_linux_double_from_file_name( FT_Library library, | 752 raccess_guess_linux_double_from_file_name( FT_Library library, |
753 char *file_name, | 753 char *file_name, |
754 FT_Long *result_offset ) | 754 FT_Long *result_offset ) |
755 { | 755 { |
756 FT_Open_Args args2; | 756 FT_Open_Args args2; |
757 FT_Stream stream2; | 757 FT_Stream stream2; |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 /*************************************************************************/ | 820 /*************************************************************************/ |
821 | 821 |
822 FT_BASE_DEF( void ) | 822 FT_BASE_DEF( void ) |
823 FT_Raccess_Guess( FT_Library library, | 823 FT_Raccess_Guess( FT_Library library, |
824 FT_Stream stream, | 824 FT_Stream stream, |
825 char *base_name, | 825 char *base_name, |
826 char **new_names, | 826 char **new_names, |
827 FT_Long *offsets, | 827 FT_Long *offsets, |
828 FT_Error *errors ) | 828 FT_Error *errors ) |
829 { | 829 { |
830 int i; | 830 FT_Int i; |
831 | 831 |
832 FT_UNUSED( library ); | 832 FT_UNUSED( library ); |
833 FT_UNUSED( stream ); | 833 FT_UNUSED( stream ); |
834 FT_UNUSED( base_name ); | 834 FT_UNUSED( base_name ); |
835 | 835 |
836 | 836 |
837 for ( i = 0; i < FT_RACCESS_N_RULES; i++ ) | 837 for ( i = 0; i < FT_RACCESS_N_RULES; i++ ) |
838 { | 838 { |
839 new_names[i] = NULL; | 839 new_names[i] = NULL; |
840 offsets[i] = 0; | 840 offsets[i] = 0; |
841 errors[i] = FT_Err_Unimplemented_Feature; | 841 errors[i] = FT_ERR( Unimplemented_Feature ); |
842 } | 842 } |
843 } | 843 } |
844 | 844 |
845 | 845 |
846 #endif /* !FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK */ | 846 #endif /* !FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK */ |
847 | 847 |
848 | 848 |
849 /* END */ | 849 /* END */ |
OLD | NEW |