Algorithm-GDiffDelta
view release on metacpan or search on metacpan
GDiffDelta.xs view on Meta::CPAN
read_int (SV *f)
{
unsigned char buf[4];
careful_fread(buf, 4, f, "delta");
if (buf[0] >= 0x7F)
croak("delta contains negative int value");
return buf[0] * 0x1000000 + buf[1] * 0x10000 +
buf[2] * 0x100 + buf[3];
}
/* The buffer is supplied by the parent so that we can avoid allocating
* it on the stack every time this is called, even though that probably
* wouldn't be very expensive in most implementations. */
static void
copy_data (SV *in, SV *out, size_t num_bytes, unsigned char *buf,
const char *from, const char *to)
{
assert(buf);
while (num_bytes >= QEF_BUFSZ) {
careful_fread(buf, QEF_BUFSZ, in, from);
( run in 0.265 second using v1.01-cache-2.11-cpan-4d50c553e7e )