summaryrefslogtreecommitdiff
path: root/lzo/src/lzo_mchw.ch
diff options
context:
space:
mode:
Diffstat (limited to 'lzo/src/lzo_mchw.ch')
-rw-r--r--lzo/src/lzo_mchw.ch70
1 files changed, 25 insertions, 45 deletions
diff --git a/lzo/src/lzo_mchw.ch b/lzo/src/lzo_mchw.ch
index a8c4fec5..bcfec46b 100644
--- a/lzo/src/lzo_mchw.ch
+++ b/lzo/src/lzo_mchw.ch
@@ -2,19 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -44,7 +32,7 @@
typedef struct
{
- int init;
+ unsigned init;
lzo_uint look; /* bytes in lookahead buffer */
@@ -67,16 +55,16 @@ typedef struct
lzo_uint printcount; /* counter for reporting progress every 1K bytes */
/* some stats */
- unsigned long lit_bytes;
- unsigned long match_bytes;
- unsigned long rep_bytes;
- unsigned long lazy;
+ lzo_uint lit_bytes;
+ lzo_uint match_bytes;
+ lzo_uint rep_bytes;
+ lzo_uint lazy;
#if defined(LZO1B)
lzo_uint r1_m_len;
/* some stats */
- unsigned long r1_r, m3_r, m2_m, m3_m;
+ lzo_uint r1_r, m3_r, m2_m, m3_m;
#endif
#if defined(LZO1C)
@@ -84,7 +72,7 @@ typedef struct
lzo_bytep m3;
/* some stats */
- unsigned long r1_r, m3_r, m2_m, m3_m;
+ lzo_uint r1_r, m3_r, m2_m, m3_m;
#endif
#if defined(LZO1F)
@@ -92,7 +80,7 @@ typedef struct
lzo_uint r1_m_len;
/* some stats */
- unsigned long r1_r, m2_m, m3_m;
+ lzo_uint r1_r, m2_m, m3_m;
#endif
#if defined(LZO1X) || defined(LZO1Y) || defined(LZO1Z)
@@ -100,27 +88,19 @@ typedef struct
lzo_uint r1_m_len;
/* some stats */
- unsigned long m1a_m, m1b_m, m2_m, m3_m, m4_m;
- unsigned long lit1_r, lit2_r, lit3_r;
+ lzo_uint m1a_m, m1b_m, m2_m, m3_m, m4_m;
+ lzo_uint lit1_r, lit2_r, lit3_r;
#endif
#if defined(LZO2A)
/* some stats */
- unsigned long m1, m2, m3, m4;
+ lzo_uint m1, m2, m3, m4;
#endif
}
LZO_COMPRESS_T;
-#if (LZO_CC_BORLANDC && LZO_ARCH_I086) && (__BORLANDC__ < 0x0450)
- /* work around a Borland C 3.1 bug */
-# define getbyte(c) ((c).ip < (c).in_end ? (c).ip +=1, (c).ip[-1] : (-1))
-#elif defined(__TURBOC__) && defined(__TOS__)
- /* work around a bug in Turbo C / Pure C (Atari ST) */
-# define getbyte(c) ((c).ip < (c).in_end ? (int)(unsigned) *((c).ip)++ : (-1))
-#else
-# define getbyte(c) ((c).ip < (c).in_end ? *((c).ip)++ : (-1))
-#endif
+#define getbyte(c) ((c).ip < (c).in_end ? *((c).ip)++ : (-1))
#include "lzo_swd.ch"
@@ -132,7 +112,7 @@ LZO_COMPRESS_T;
static int
init_match ( LZO_COMPRESS_T *c, lzo_swd_p s,
const lzo_bytep dict, lzo_uint dict_len,
- lzo_uint32 flags )
+ lzo_uint32_t flags )
{
int r;
@@ -148,11 +128,14 @@ init_match ( LZO_COMPRESS_T *c, lzo_swd_p s,
c->lazy = 0;
r = swd_init(s,dict,dict_len);
- if (r != 0)
+ if (r != LZO_E_OK)
+ {
+ swd_exit(s);
return r;
+ }
s->use_best_off = (flags & 1) ? 1 : 0;
- return r;
+ return LZO_E_OK;
}
@@ -178,8 +161,8 @@ find_match ( LZO_COMPRESS_T *c, lzo_swd_p s,
c->textsize += this_len - skip;
}
- s->m_len = 1;
- s->m_len = THRESHOLD;
+ s->m_len = SWD_THRESHOLD;
+ s->m_off = 0;
#ifdef SWD_BEST_OFF
if (s->use_best_off)
lzo_memset(s->best_pos,0,sizeof(s->best_pos));
@@ -204,14 +187,14 @@ find_match ( LZO_COMPRESS_T *c, lzo_swd_p s,
#if 0
/* brute force match search */
- if (c->m_len > THRESHOLD && c->m_len + 1 <= c->look)
+ if (c->m_len > SWD_THRESHOLD && c->m_len + 1 <= c->look)
{
const lzo_bytep ip = c->bp;
const lzo_bytep m = c->bp - c->m_off;
const lzo_bytep in = c->in;
- if (ip - in > N)
- in = ip - N;
+ if (ip - in > s->swd_n)
+ in = ip - s->swd_n;
for (;;)
{
while (*in != *ip)
@@ -236,7 +219,4 @@ find_match ( LZO_COMPRESS_T *c, lzo_swd_p s,
}
-/*
-vi:ts=4:et
-*/
-
+/* vim:set ts=4 sw=4 et: */