1
0
mirror of https://git.tukaani.org/xz.git synced 2025-08-02 09:46:35 +00:00
xz/src/liblzma/delta/delta_private.h
Lasse Collin d4a0462abe liblzma: Avoid multiple definitions of lzma_coder structures.
Only one definition was visible in a translation unit.
It avoided a few casts and temp variables but seems that
this hack doesn't work with link-time optimizations in compilers
as it's not C99/C11 compliant.

Fixes:
http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html
2016-11-21 20:24:50 +02:00

38 lines
889 B
C

///////////////////////////////////////////////////////////////////////////////
//
/// \file delta_private.h
/// \brief Private common stuff for Delta encoder and decoder
//
// Author: Lasse Collin
//
// This file has been put into the public domain.
// You can do whatever you want with this file.
//
///////////////////////////////////////////////////////////////////////////////
#ifndef LZMA_DELTA_PRIVATE_H
#define LZMA_DELTA_PRIVATE_H
#include "delta_common.h"
typedef struct {
/// Next coder in the chain
lzma_next_coder next;
/// Delta distance
size_t distance;
/// Position in history[]
uint8_t pos;
/// Buffer to hold history of the original data
uint8_t history[LZMA_DELTA_DIST_MAX];
} lzma_delta_coder;
extern lzma_ret lzma_delta_coder_init(
lzma_next_coder *next, const lzma_allocator *allocator,
const lzma_filter_info *filters);
#endif