@@ -483,19 +483,17 @@ static int chmd_read_headers(struct mspack_system *sys, struct mspack_file *fh,
483483
484484 if (name [0 ] == ':' && name [1 ] == ':' ) {
485485 /* system file */
486- if (memcmp (& name [2 ], & content_name [2 ], 31L ) == 0 ) {
487- if (memcmp (& name [33 ], & content_name [33 ], 8L ) == 0 ) {
488- chm -> sec1 .content = fi ;
489- }
490- else if (memcmp (& name [33 ], & control_name [33 ], 11L ) == 0 ) {
491- chm -> sec1 .control = fi ;
492- }
493- else if (memcmp (& name [33 ], & spaninfo_name [33 ], 8L ) == 0 ) {
494- chm -> sec1 .spaninfo = fi ;
495- }
496- else if (memcmp (& name [33 ], & rtable_name [33 ], 72L ) == 0 ) {
497- chm -> sec1 .rtable = fi ;
498- }
486+ if (name_len == 40 && memcmp (name , content_name , 40 ) == 0 ) {
487+ chm -> sec1 .content = fi ;
488+ }
489+ else if (name_len == 44 && memcmp (name , control_name , 44 ) == 0 ) {
490+ chm -> sec1 .control = fi ;
491+ }
492+ else if (name_len == 41 && memcmp (name , spaninfo_name , 41 ) == 0 ) {
493+ chm -> sec1 .spaninfo = fi ;
494+ }
495+ else if (name_len == 105 && memcmp (name , rtable_name , 105 ) == 0 ) {
496+ chm -> sec1 .rtable = fi ;
499497 }
500498 fi -> next = chm -> sysfiles ;
501499 chm -> sysfiles = fi ;
0 commit comments