texk/web2c/pdfetexini.c contains the following ~line 116: {register integer for_end; i = 0 ;for_end = 255 ; if ( i <= for_end) do mubyteread [i ]= -268435455L ; while ( i++ < for_end ) ;} {register integer for_end; i = 0 ;for_end = 255 ; if ( i <= for_end) do mubytewrite [i ]= 0 ; while ( i++ < for_end ) ;} {register integer for_end; i = 0 ;for_end = 128 ; if ( i <= for_end) do mubytecswrite [i ]= -268435455L ; while ( i++ < for_end ) ;}
sizeof(mubyteread) = 256. sizeof(mubytewrite) = 256. sizeof(mubytecswrite) = 128. The loop for mubyteread and mubytewrite is correct. However, for mubytecswrite, you overwrite mubytecswrite[0] .. mubytecswrite[128]. You really want to overwrite mubytecswrite[0] .. mubytecswrite[127]. Seems like pdfetex.p is wrong. It declares mubytecswrite as: mubytecswrite:array[0..127]of halfword;mubyteskip:integer; but overwrites the array: for i:=0 to 128 do mubytecswrite[i]:=-268435455;mubytekeep:=0; -- albert chin ([EMAIL PROTECTED])