-/* @(#) $Id$ */
-
/* Copyright (C) 2009 Trend Micro Inc.
* All rights reserved.
*
* License (version 2) as published by the FSF - Free Software
* Foundation
*/
-
-#include "shared.h"
+
#include "os_zlib.h"
-/* os_compress: Compress a string with zlib. */
-int os_compress(char *src, char *dst, int src_size, int dst_size)
+#ifdef ZLIB_SYSTEM
+#include <zlib.h>
+#else
+#include "../external/zlib-1.2.11/zlib.h"
+#endif
+
+unsigned long int os_zlib_compress(const char *src, char *dst,
+ unsigned long int src_size,
+ unsigned long int dst_size)
{
- unsigned long int zl_dst = dst_size;
-
- /* We make sure to do not allow long sizes */
- if(compress2((unsigned char *)dst,
- &zl_dst,
- (unsigned char *)src,
- (unsigned long int)src_size, 9) == Z_OK)
- {
- dst[zl_dst] = '\0';
- return(zl_dst);
+ if (compress2((Bytef *)dst,
+ &dst_size,
+ (const Bytef *)src,
+ src_size,
+ Z_BEST_COMPRESSION) == Z_OK) {
+ dst[dst_size] = '\0';
+ return (dst_size);
}
- return(0);
+ return (0);
}
-
-/* os_uncompress: Uncompress a string with zlib. */
-int os_uncompress(char *src, char *dst, int src_size, int dst_size)
+unsigned long int os_zlib_uncompress(const char *src, char *dst,
+ unsigned long int src_size,
+ unsigned long int dst_size)
{
- unsigned long int zl_dst = dst_size;
-
- if(uncompress((unsigned char *)dst,
- &zl_dst,
- (unsigned char *)src,
- (unsigned long int)src_size) == Z_OK)
- {
- dst[zl_dst] = '\0';
- return(zl_dst);
+ if (uncompress((Bytef *)dst,
+ &dst_size,
+ (const Bytef *)src,
+ src_size) == Z_OK) {
+ dst[dst_size] = '\0';
+ return (dst_size);
}
- return(0);
-}
+ return (0);
+}
-/* EOF */