aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/pg_lzcompress.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/adt/pg_lzcompress.c')
-rw-r--r--src/backend/utils/adt/pg_lzcompress.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/backend/utils/adt/pg_lzcompress.c b/src/backend/utils/adt/pg_lzcompress.c
index f4e6ac5be37..493b4e64465 100644
--- a/src/backend/utils/adt/pg_lzcompress.c
+++ b/src/backend/utils/adt/pg_lzcompress.c
@@ -1,7 +1,7 @@
/* ----------
* pg_lzcompress.c -
*
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/pg_lzcompress.c,v 1.5 2000/05/30 00:49:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/pg_lzcompress.c,v 1.6 2000/07/03 23:09:52 wieck Exp $
*
* This is an implementation of LZ compression for PostgreSQL.
* It uses a simple history table and generates 2-3 byte tags
@@ -582,11 +582,15 @@ pglz_compress(char *source, int slen, PGLZ_Header *dest, PGLZ_Strategy *strategy
* ----------
*/
if (do_compress)
- return (dest->varsize = result_size + sizeof(PGLZ_Header));
+ {
+ dest->varsize = result_size + sizeof(PGLZ_Header);
+ return VARATT_SIZE(dest);
+ }
else
{
memcpy(((char *) dest) + sizeof(PGLZ_Header), source, slen);
- return (dest->varsize = slen + sizeof(PGLZ_Header));
+ dest->varsize = slen + sizeof(PGLZ_Header);
+ return VARATT_SIZE(dest);
}
}
@@ -609,10 +613,10 @@ pglz_decompress(PGLZ_Header *source, char *dest)
int32 off;
dp = ((unsigned char *) source) + sizeof(PGLZ_Header);
- dend = ((unsigned char *) source) + source->varsize;
+ dend = ((unsigned char *) source) + VARATT_SIZE(source);
bp = (unsigned char *) dest;
- if (source->varsize == source->rawsize + sizeof(PGLZ_Header))
+ if (VARATT_SIZE(source) == source->rawsize + sizeof(PGLZ_Header))
{
memcpy(dest, dp, source->rawsize);
return source->rawsize;