File size information not correct
Posted: Wed Jan 27, 2010 1:14 am
Hi,
I observed some issues with the the file size information provided by XnView.
Version info: XnView Version 1.97 (Nov 27 2009) / OS: Windows XP SP3
At least the following bug reports probably hit the same issue:
http://newsgroup.xnview.com/viewtopic.php?f=36&t=17735
http://newsgroup.xnview.com/viewtopic.php?f=36&t=18451
Here some more details of my testings:
As a short interpretation of these testings, probably the problem is the variable type (signed long integer) used during evaluation and/or storage of the file size. The dimension of the variable used is too small the values runs over the boundaries of the variable, first producing a negation of the value at 2 GB. The numbering stays negative until it reaches zero at the file's true size of 4 GB. This behavour repeats for all further following 4 GB.
Depending on programming aproaches to display this object property, the displayed information differs:
I hope it helps!
cu,
cli
I observed some issues with the the file size information provided by XnView.
Version info: XnView Version 1.97 (Nov 27 2009) / OS: Windows XP SP3
At least the following bug reports probably hit the same issue:
http://newsgroup.xnview.com/viewtopic.php?f=36&t=17735
http://newsgroup.xnview.com/viewtopic.php?f=36&t=18451
Here some more details of my testings:
Code: Select all
-- XnView -------------------------------------|-- FileSystem ----------------------------------------------------
Details-list Ballon-info Property-sheet | Real size Real size(hex) File name
-----------------------------------------------|------------------------------------------------------------------
1.00 GB 1.073.741.824 1.073.741.824 1.073.741.824 00 4000 0000 File00 (exactly 1 GB)
2.00 GB 2.147.483.647 2.147.483.647 2.147.483.647 00 7FFF FFFF File01 (1 Byte less than 2 GB)
-2.147.483.648 2.147.483.648 2.147.483.648 00 8000 0000 File02 (exactly 2 GB)
-2.147.483.647 2.147.483.649 2.147.483.649 00 8000 0001 File03 (1 Byte more than 2 GB)
-1.073.741.824 3.221.225.472 3.221.225.472 00 C000 0000 File04 (exactly 3 GB)
-3 4.294.967.293 4.294.967.293 00 FFFF FFFD File05 (3 Byte less than 4 GB)
-2 4.294.967.294 4.294.967.294 00 FFFF FFFE File06 (2 Byte less than 4 GB)
-1 4.294.967.295 4.294.967.295 00 FFFF FFFF File07 (1 Byte less than 4 GB)
-1 4.294.967.295 4.294.967.296 01 0000 0000 File08 (exactly 4 GB)
0 0 4.294.967.297 01 0000 0001 File09 (1 Byte more than 4 GB)
1 bytes 1 1 4.294.967.298 01 0000 0002 File10 (2 Byte more than 4 GB)
1024.00 MB 1.073.741.823 1.073.741.823 5.368.709.120 01 4000 0000 File11 (exactly 5 GB)
2.00 GB 2.147.483.647 2.147.483.647 6.442.450.944 01 8000 0000 File12 (exactly 6 GB)
-2.147.483.648 2.147.483.648 6.442.450.945 01 8000 0001 File13 (1 Byte more than 6 GB)
-2.147.483.647 2.147.483.649 6.442.450.946 01 8000 0002 File14 (2 Byte more than 6 GB)
-1.073.741.825 3.221.225.471 7.516.192.768 01 C000 0000 File15 (exactly 7 GB)
-4 4.294.967.292 8.589.934.589 01 FFFF FFFD File16 (3 Byte less than 8 GB)
-3 4.294.967.293 8.589.934.590 01 FFFF FFFE File17 (2 Byte less than 8 GB)
-2 4.294.967.294 8.589.934.591 01 FFFF FFFF File18 (1 Byte less than 8 GB)
-2 4.294.967.294 8.589.934.592 02 0000 0000 File19 (exactly 8 GB)
-1 4.294.967.295 8.589.934.593 02 0000 0001 File20 (1 Byte more than 8 GB)
0 0 8.589.934.594 02 0000 0002 File21 (2 Byte more than 8 GB)
1 bytes 1 1 8.589.934.595 02 0000 0003 File22 (3 Byte more than 8 GB)
785.68 MB 823.844.862 823.844.862 9.413.779.456 02 311A E000 File23 (more than 8 GB)
-----------------------------------------------|------------------------------------------------------------------
Note: Numbers with no dimension are in "bytes".
Missing values in the "Details-list" column are also missing in the "Details"-view of XnView.
Depending on programming aproaches to display this object property, the displayed information differs:
- In the detail listing of the right pane the size will diplay only values between 0 to 2 GB. Values between 3 GB and 4 GB are not displayed as obviously negative values are not allowed or defined for this field.
This behavour repeats: 4 Gb to 6 GB are interpreted as 0 to 2 GB, 6 GB to 8 GB are interpreted as 2 GB to 4 GB. etc. etc..
- In the yellow ballon information string for the file entry, the size information is probably pasted as string from the original variable. So here the oscillation of the 4 GB period is documented incusive the negative values of the variable between 3 GB to 4 GB.
- The "Properties" popup windows takes a third aproach. It will display the size value as it should be, but unfortuatelly truncated by MODULO(4GB) as an effect of the original too short "size"-variable. Probably an unsigned long integer has been used within the "Properites" code.
I hope it helps!
cu,
cli