From libpar2-0.2:
The data_size member of class ParHeaders is an int, which is used in gpar2 to display the size of the archive in bytes/kbytes/mbytes/gbytes, appropriately scaled. However, it wraps around when the size of the archive > 2GB, resulting in a bogus size display in gpar2. Changing it to an unsigned long long type resolves this problem, although it requires recompiling the library and any dependencies, such as gpar2. I tested this on a 4+ GB archive and gpar2 displays the correct size as well as appears to have no adverse effects on verifying or rebuilding broken files in the archive.
The proposed (new) contents of parheaders.h are:
#include <stdlib.h>
#include <iostream>
class ParHeaders {
public:
std::string setid;
int packets;
int recovery_block;
int recoverable_files;
int other_files;
int block_size;
int data_blocks;
unsigned long long data_size;
int chunk_size;
ParHeaders(void);
};
Yup, I found the same problem...
My patch is in Ubuntu here: https://bugs.launchpad.net/debian/+source/libpar2/+bug/384143