------- Comment #3 from pinskia at gcc dot gnu dot org 2007-07-31 18:38 ------- Confirmed, reduced a lot: int zip_find_end_of_central_dir(void *in, long long *len) { char buf[256]; int i = 0; long long filelen; long long filepos; int maxread; int totalread = 0; int found = 0; unsigned extra = 0; filelen = __PHYSFS_platformFileLength(in); filepos = 0; maxread = (unsigned) filelen; while ((totalread < filelen) && (totalread < 65557)) { extra = *((unsigned *) (&buf[0])); for (i = maxread - 4; i > 0; i--) { if ((buf[i + 0] == 0x50) && (buf[i + 1] == 0x4B) && (buf[i + 3] == 0x06) ) { found = 1; break; } } } return (!found) ; }
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2007-07-31 18:38:32 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32573