Business-KontoCheck
view release on metacpan or search on metacpan
zlib/examples/gzlog.c view on Meta::CPAN
/* write the modified stored block header and lengths, move the file
pointer to after the last stored block data */
PUT2(buf + 2, log->stored);
PUT2(buf + 4, log->stored ^ 0xffff);
return lseek(log->fd, log->last - len, SEEK_SET) < 0 ||
write(log->fd, buf + 2 - len, len + 4) != len + 4 ||
lseek(log->fd, log->stored, SEEK_CUR) < 0 ? -1 : 0;
}
/* Append len bytes from data to the locked and open log file. len may be zero
if recovering and no .add file was found. In that case, the previous state
of the foo.gz file is restored. The data is appended uncompressed in
deflate stored blocks. Return -1 if there was an error reading or writing
the foo.gz file. */
local int log_append(struct log *log, unsigned char *data, size_t len)
{
uint put;
off_t end;
unsigned char buf[8];
zlib/examples/gzlog.h view on Meta::CPAN
2.0 25 Apr 2008 Complete redesign for recovery of interrupted operations
Interface changed slightly in that now path is a prefix
Compression now occurs as needed during gzlog_write()
gzlog_write() now always leaves the log file as valid gzip
2.1 8 Jul 2012 Fix argument checks in gzlog_compress() and gzlog_write()
2.2 14 Aug 2012 Clean up signed comparisons
*/
/*
The gzlog object allows writing short messages to a gzipped log file,
opening the log file locked for small bursts, and then closing it. The log
object works by appending stored (uncompressed) data to the gzip file until
1 MB has been accumulated. At that time, the stored data is compressed, and
replaces the uncompressed data in the file. The log file is truncated to
its new size at that time. After each write operation, the log file is a
valid gzip file that can decompressed to recover what was written.
The gzlog operations can be interrupted at any point due to an application or
system crash, and the log file will be recovered the next time the log is
opened with gzlog_open().
*/
( run in 0.995 second using v1.01-cache-2.11-cpan-49f99fa48dc )