-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Additional information: I have checked the value returned by in.flags() (flags associated to the stream) and they are not the same on GNU/Linux and Windows.
Emmanuel Emmanuel Engelhart a écrit : > Subject was "Re: [openZIM dev-l] Suggested Budget for 2010" > > Your new implementation which should help to avoid the 2GB limit under > windows works well on GNU/Linux. Unfortunately, on Windows with MSVC > this is not the case. > > Few things to modify to achieve to compile: > * remove the #include <unistd.h> which is a POSIX specific header... and > seems not to be necessary under GNU/Linux. > * include io.h in fstream.[h|cpp] > > After that it will achieve to compile... But unfortunately it does not > run *at all*. I always get reading errors. The errors are not always at > the same place, depends on file I try to open. > > For example with the following file, the process dies pretty early by > reading the header: > http://tmp.kiwix.org/zim/0.9/wikipedia_en_wp1_0.7_30000+_05_2009_beta3.zim > > After reading the 72 first bytes from the header, the stream has the > fail flag... In fact, if I only read 16 bytes it's OK (until the next > read error), but more than 17 and I will get an error. The byte at the > 16th position has the value 26 which is maybe interpreted as a end of > file character. > > But with an other file... the error may occurs later. > > So, it seems to me that the problem depends on the content and is > independent of the file size. Maybe the file is read in text mode and > not in binary mode... but I have no evidence of that. > > Someone has an idea? > > Emmanuel > > Tommi Mäkitalo a écrit : >> Great news! So lets go on doing something useful for that money;-) > >> I'm back from my vacation and already checked in the first of what I've >> done. I >> was offline but had my netbook with me. > >> I successfully replaced the std::ifstream with my own implentation. So for >> the >> windows porters there should be one a single system call left to #ifdef with >> some win32-specific call. In zimlib/src/fstream.cpp there is a call to >> lseek64. > >> Tommi _______________________________________________ dev-l mailing list [email protected] https://intern.openzim.org/mailman/listinfo/dev-l -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAku9fuEACgkQn3IpJRpNWtOknwCdFbjoZkaJxmNBCjTqF0k6WTgQ 4eEAn3dYnSI2XJCmMxY+E7YY/5R1MHOf =URJQ -----END PGP SIGNATURE----- _______________________________________________ dev-l mailing list [email protected] https://intern.openzim.org/mailman/listinfo/dev-l
