Hi Aleks.

   The function pdf_fsys_disk_get_free_space() returns a `pdf_size_t' 
   representing number of *bytes*. Our `pdf_size_t' is just a typedef of 
   `size_t', which is usually a typedef of `unsigned int' which is usually 
   32bits in 32-bit machines (not sure of its size in 64-bit machines).

   Anyway, if size of pdf_size_t is 32bits, the maximum number of bytes 
   which a pdf_size_t is able to handle is 4GBytes, which of course is not 
   enough:
   (((2^32)/1024)/1024)/1024 = 4

   Basically, the pdf_fsys_disk_get_free_space() function should return a 
   pdf_i64_t instead of a pdf_size_t.

   Also, the main API of the Filesystem module (pdf_fsys_get_free_space()) 
   should be modified.

Maybe would be a good idea to use a pdf_off_t (defined in pdf-types)
for all the filesystem-related sizes. What do you think?




Reply via email to