diff options
author | Nathan Letwory <nathan@letworyinteractive.com> | 2004-04-16 19:55:16 +0400 |
---|---|---|
committer | Nathan Letwory <nathan@letworyinteractive.com> | 2004-04-16 19:55:16 +0400 |
commit | 39a8c014c4572f7f5f9ca099482929b67fe4273e (patch) | |
tree | 84224067db57aaa5717930d2c5703f7ab70f14f8 /source/blender/deflate | |
parent | 2cc124cf3b1281488c726b71090c1d2640e8078d (diff) |
This commit removes the glue from Blender, and with it
the directories decrypt, deflate, encrypt, inflate, readstreamglue,
sign, writeblenfile and writestreamglue.
Sirdude was so kind to modify the makefiles, so SCons and
Make are ready to build with the new Blender.
Visual Studio workspaces, solutions and projectfiles still need
to be updated (I'll do the .vcprojs and .sln myself after this commit).
Runtimes created with the Blender Publisher are not anymore
recognised - if you want these available, you'll have to convert
them first to .blends with the Publisher.
Diffstat (limited to 'source/blender/deflate')
-rw-r--r-- | source/blender/deflate/BLO_deflate.h | 59 | ||||
-rw-r--r-- | source/blender/deflate/Makefile | 39 | ||||
-rw-r--r-- | source/blender/deflate/SConscript | 17 | ||||
-rw-r--r-- | source/blender/deflate/intern/BLO_deflate.c | 215 | ||||
-rw-r--r-- | source/blender/deflate/intern/Makefile | 57 | ||||
-rw-r--r-- | source/blender/deflate/stub/BLO_deflateSTUB.c | 56 | ||||
-rw-r--r-- | source/blender/deflate/stub/Makefile | 55 | ||||
-rw-r--r-- | source/blender/deflate/test/Makefile | 37 | ||||
-rw-r--r-- | source/blender/deflate/test/stubbed/Makefile | 72 | ||||
-rw-r--r-- | source/blender/deflate/test/stubbed/stubbed.c | 207 |
10 files changed, 0 insertions, 814 deletions
diff --git a/source/blender/deflate/BLO_deflate.h b/source/blender/deflate/BLO_deflate.h deleted file mode 100644 index 8d7f9ff07e0..00000000000 --- a/source/blender/deflate/BLO_deflate.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * $Id$ - * - * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. The Blender - * Foundation also sells licenses for use in proprietary software under - * the Blender License. See http://www.blender.org/BL/ for information - * about this. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL/BL DUAL LICENSE BLOCK ***** - * zlib deflate compression wrapper library interface - */ - -#ifndef BLO_DEFLATE_H -#define BLO_DEFLATE_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * zlib deflate dataprocessor wrapper - * @param data Pointer to raw input data - * @param dataIn Raw data input amount - * @param streamGlueHeader Our streamGlueHeaderStruct - * @retval streamGlueWrite return value - */ - int -BLO_deflate( - unsigned char *data, - unsigned int dataIn, - struct streamGlueHeaderStruct *streamGlueHeader); - -#ifdef __cplusplus -} -#endif - -#endif /* BLO_DEFLATE_H */ - diff --git a/source/blender/deflate/Makefile b/source/blender/deflate/Makefile deleted file mode 100644 index 397f72614c9..00000000000 --- a/source/blender/deflate/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# -# $Id$ -# -# ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. The Blender -# Foundation also sells licenses for use in proprietary software under -# the Blender License. See http://www.blender.org/BL/ for information -# about this. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): none yet. -# -# ***** END GPL/BL DUAL LICENSE BLOCK ***** -# -# Bounces make to subdirectories. -# - -SOURCEDIR = source/blender/deflate -DIRS = intern -TESTDIRS = test - -include nan_subdirs.mk diff --git a/source/blender/deflate/SConscript b/source/blender/deflate/SConscript deleted file mode 100644 index 400c290f4e4..00000000000 --- a/source/blender/deflate/SConscript +++ /dev/null @@ -1,17 +0,0 @@ -Import ('extra_includes') -Import ('user_options_dict') -Import ('library_env') - -deflate_env = library_env.Copy () - -source_files = ['intern/BLO_deflate.c'] - -deflate_env.Append (CPPPATH = ['.', - '../../kernel/gen_messaging', - '../writestreamglue', - '../readstreamglue', - '../inflate']) - -deflate_env.Append (CPPPATH=user_options_dict['Z_INCLUDE']) -deflate_env.Append (CPPPATH=extra_includes) -deflate_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/blender_deflate', source=source_files) diff --git a/source/blender/deflate/intern/BLO_deflate.c b/source/blender/deflate/intern/BLO_deflate.c deleted file mode 100644 index 385b53e8e7a..00000000000 --- a/source/blender/deflate/intern/BLO_deflate.c +++ /dev/null @@ -1,215 +0,0 @@ -/** - * $Id$ - * - * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. The Blender - * Foundation also sells licenses for use in proprietary software under - * the Blender License. See http://www.blender.org/BL/ for information - * about this. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL/BL DUAL LICENSE BLOCK ***** - * zlib deflate compression wrapper library - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "zlib.h" - -#include "GEN_messaging.h" - -#include "BLO_writeStreamGlue.h" -#include "BLO_deflate.h" -#include "BLO_in_de_flateHeader.h" - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -// TODO use other error function -static int CHECK_ERR(int err, char *msg); - -static int CHECK_ERR(int err, char *msg) { - if (err != Z_OK) { -#ifndef NDEBUG - fprintf(GEN_errorstream, - "%s error: %d\n", - msg, - err); -#endif - return 1; - } - return 0; -} - - int -BLO_deflate( - unsigned char *data, - unsigned int dataIn, - struct streamGlueHeaderStruct *streamGlueHeader) -{ - int zlib_err; /* zlib error */ - int err = 0; /* our own error */ - z_stream c_stream; /* compression stream */ - char dictionary[50]; - Bytef *compressBuf; /* minimally sized output buffer for deflate */ - uInt compressSize; /* minimally sized compressBuf size in bytes */ - struct writeStreamGlueStruct *streamGlue = NULL; - struct BLO_in_de_flateHeaderStruct BLO_in_de_flateHeader; - char* errmsg1 = "deflateInit"; - char* errmsg2 = "deflateSetDictionary"; - char* errmsg3 = "deflateEnd"; - - // TODO use dictionary index, this is id = 1 : - strcpy(dictionary, "sure this is not a number"); - - compressSize = (dataIn * 1.1) + 12; - compressBuf = (Bytef *)malloc(compressSize); - if (!compressBuf) { - err = BWS_SETFUNCTION(BWS_DEFLATE) | - BWS_SETGENERR(BWS_MALLOC); - return err; - } - - c_stream.next_out = compressBuf; - c_stream.avail_out = compressSize; - c_stream.next_in = data; - c_stream.avail_in = dataIn; - - c_stream.zalloc = (alloc_func)0; - c_stream.zfree = (free_func)0; - c_stream.opaque = (voidpf)0; - - zlib_err = deflateInit(&c_stream, Z_BEST_COMPRESSION); - if (CHECK_ERR(zlib_err, errmsg1)) { - err = BWS_SETFUNCTION(BWS_DEFLATE) | - BWS_SETSPECERR(BWS_DEFLATEERROR); - free(compressBuf); - return err; - } - - zlib_err = deflateSetDictionary(&c_stream, - (const Bytef*)dictionary, - strlen(dictionary)); - if (CHECK_ERR(zlib_err, errmsg2)) { - err = BWS_SETFUNCTION(BWS_DEFLATE) | - BWS_SETSPECERR(BWS_DEFLATEERROR); - free(compressBuf); - return err; - } - - // Compress it - zlib_err = deflate(&c_stream, Z_FINISH); - if (zlib_err != Z_STREAM_END) { -#ifndef NDEBUG - fprintf(GEN_errorstream, - "deflate should report Z_STREAM_END\n"); -#endif - // (avail_out == 0) possibility ? Should not, because we - // malloc by the minimal needed amount rule - err = BWS_SETFUNCTION(BWS_DEFLATE) | - BWS_SETSPECERR(BWS_DEFLATEERROR); - free(compressBuf); - return err; - } - - zlib_err = deflateEnd(&c_stream); - if (CHECK_ERR(zlib_err, errmsg3)) { - err = BWS_SETFUNCTION(BWS_DEFLATE) | - BWS_SETSPECERR(BWS_DEFLATEERROR); - free(compressBuf); - return err; - } - -#ifndef NDEBUG - fprintf(GEN_errorstream, - "BLO_deflate compressed %ld bytes to %ld (%.0f%%)\n", - c_stream.total_in, c_stream.total_out, - 100. * (float)c_stream.total_out / (float)c_stream.total_in); - - fprintf(GEN_errorstream, - "BLO_deflate writes streamGlueHeader of %u bytes\n", - STREAMGLUEHEADERSIZE); -#endif - // Update streamGlueHeader that initiated us and write it away - streamGlueHeader->totalStreamLength = - htonl(IN_DE_FLATEHEADERSTRUCTSIZE + c_stream.total_out); - streamGlueHeader->crc = htonl(crc32(0L, (const Bytef *) streamGlueHeader, - STREAMGLUEHEADERSIZE - 4)); - err = writeStreamGlue( - Global_streamGlueControl, - &streamGlue, - (unsigned char *) streamGlueHeader, - STREAMGLUEHEADERSIZE, - 0); - if (err) { - free(compressBuf); - return err; - } - -#ifndef NDEBUG - fprintf(GEN_errorstream, - "BLO_deflate writes BLO_in_de_flateHeader of %u bytes\n", - IN_DE_FLATEHEADERSTRUCTSIZE); -#endif - - // write out our header - BLO_in_de_flateHeader.magic = 'B'; - BLO_in_de_flateHeader.compressedLength = htonl(c_stream.total_out); - BLO_in_de_flateHeader.uncompressedLength = htonl(c_stream.total_in); - BLO_in_de_flateHeader.dictionary_id = htonl(1); - BLO_in_de_flateHeader.dictId = htonl(c_stream.adler); // adler checksum - BLO_in_de_flateHeader.crc = htonl(crc32(0L, - (const Bytef *) &BLO_in_de_flateHeader, IN_DE_FLATEHEADERSTRUCTSIZE-4)); - err = writeStreamGlue( - Global_streamGlueControl, - &streamGlue, - (unsigned char *) &BLO_in_de_flateHeader, - IN_DE_FLATEHEADERSTRUCTSIZE, - 0); - if (err) { - free(compressBuf); - return err; - } - -#ifndef NDEBUG - fprintf(GEN_errorstream, - "BLO_deflate writes %lu bytes raw data (total %lu)\n", - c_stream.total_out, STREAMGLUEHEADERSIZE + - IN_DE_FLATEHEADERSTRUCTSIZE + c_stream.total_out); -#endif - - // finally write all compressed data - err = writeStreamGlue( - Global_streamGlueControl, - &streamGlue, - (unsigned char *) compressBuf, - c_stream.total_out, - 1); - - free(compressBuf); - - return err; -} - diff --git a/source/blender/deflate/intern/Makefile b/source/blender/deflate/intern/Makefile deleted file mode 100644 index b6811f2d130..00000000000 --- a/source/blender/deflate/intern/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# -# $Id$ -# -# ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. The Blender -# Foundation also sells licenses for use in proprietary software under -# the Blender License. See http://www.blender.org/BL/ for information -# about this. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): none yet. -# -# ***** END GPL/BL DUAL LICENSE BLOCK ***** -# -# - -LIBNAME = deflate -DIR = $(OCGDIR)/blender/$(LIBNAME) - -include nan_compile.mk - -ifeq ($(OS),$(findstring $(OS), "beos darwin freebsd linux openbsd solaris windows")) - CFLAGS += -funsigned-char -endif - -CFLAGS += $(LEVEL_2_C_WARNINGS) - -# path to our own external headerfiles -CPPFLAGS += -I.. - -# external modules -CPPFLAGS += -I../../../kernel/gen_messaging -CPPFLAGS += -I../../writestreamglue -CPPFLAGS += -I../../readstreamglue -CPPFLAGS += -I../../inflate - -ifeq ($(OS),$(findstring $(OS), "solaris windows")) - CPPFLAGS += -I$(NAN_ZLIB)/include -endif - diff --git a/source/blender/deflate/stub/BLO_deflateSTUB.c b/source/blender/deflate/stub/BLO_deflateSTUB.c deleted file mode 100644 index fc0b038bc0a..00000000000 --- a/source/blender/deflate/stub/BLO_deflateSTUB.c +++ /dev/null @@ -1,56 +0,0 @@ -/** - * $Id$ - * - * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. The Blender - * Foundation also sells licenses for use in proprietary software under - * the Blender License. See http://www.blender.org/BL/ for information - * about this. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL/BL DUAL LICENSE BLOCK ***** - * zlib deflate compression library stub - */ - -#include <stdio.h> - -#include "GEN_messaging.h" -#include "BLO_streamglue.h" -#include "BLO_deflate.h" - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - - int -BLO_deflate( - unsigned char *data, - unsigned int dataIn, - struct streamGlueHeaderStruct *streamGlueHeader) -{ -#ifndef NDEBUG - fprintf(GEN_errorstream, - "Error BLO_deflate is a stub"); -#endif - return(NULL); -} - diff --git a/source/blender/deflate/stub/Makefile b/source/blender/deflate/stub/Makefile deleted file mode 100644 index 55f3211e2c9..00000000000 --- a/source/blender/deflate/stub/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# -# $Id$ -# -# ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. The Blender -# Foundation also sells licenses for use in proprietary software under -# the Blender License. See http://www.blender.org/BL/ for information -# about this. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): none yet. -# -# ***** END GPL/BL DUAL LICENSE BLOCK ***** -# -# - -LIBNAME = deflateSTUB -DIR = $(OCGDIR)/blender/$(LIBNAME) - -include nan_compile.mk - -ifeq ($(OS),$(findstring $(OS), "beos darwin freebsd linux openbsd solaris windows")) - CFLAGS += -funsigned-char -endif - -CFLAGS += $(LEVEL_2_C_WARNINGS) - -# path to our own external headerfiles -CPPFLAGS += -I.. - -# external modules -CPPFLAGS += -I../../../kernel/gen_messaging -CPPFLAGS += -I../../streamglue - -ifeq ($(OS),$(findstring $(OS), "solaris windows")) - CPPFLAGS += -I$(NAN_ZLIB)/include -endif - diff --git a/source/blender/deflate/test/Makefile b/source/blender/deflate/test/Makefile deleted file mode 100644 index 25116d51f5c..00000000000 --- a/source/blender/deflate/test/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -# -# $Id$ -# -# ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. The Blender -# Foundation also sells licenses for use in proprietary software under -# the Blender License. See http://www.blender.org/BL/ for information -# about this. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): none yet. -# -# ***** END GPL/BL DUAL LICENSE BLOCK ***** -# -# Bounces make to subdirectories. - -SOURCEDIR = source/blender/deflate/test -DIRS = stubbed - -include nan_subdirs.mk diff --git a/source/blender/deflate/test/stubbed/Makefile b/source/blender/deflate/test/stubbed/Makefile deleted file mode 100644 index e8b597f068d..00000000000 --- a/source/blender/deflate/test/stubbed/Makefile +++ /dev/null @@ -1,72 +0,0 @@ -# -# $Id$ -# -# ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. The Blender -# Foundation also sells licenses for use in proprietary software under -# the Blender License. See http://www.blender.org/BL/ for information -# about this. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): none yet. -# -# ***** END GPL/BL DUAL LICENSE BLOCK ***** -# -# Make a little test for the sys_types replacement. -# - -DIR = $(OCGDIR)/blender/deflate/test -ALLTARGETS = $(DIR)/stubbed_test - -include nan_compile.mk - -CFLAGS += -funsigned-char - -# this module's header -CPPFLAGS += -I../.. - -# external headers -CPPFLAGS += -I../../../readstreamglue -CPPFLAGS += -I../../../writestreamglue - -################################################################# -# libs -TESTLIBS = $(OCGDIR)/blender/deflate/$(DEBUG_DIR)libdeflate.a -TESTLIBS += $(OCGDIR)/blender/writestreamglueSTUB/$(DEBUG_DIR)libwritestreamglueSTUB.a -TESTLIBS += $(OCGDIR)/kernel/gen_messaging/$(DEBUG_DIR)libgen_messaging.a - -ifeq ($(OS),$(findstring $(OS), "freebsd linux")) - TESTLIBS += -lz -endif - -ifeq ($(OS),windows) - TESTLIBS += ws2_32.lib - TESTLIBS += $(NAN_ZLIB)/lib/libz.a -endif - -# There's hardly anything to debug here, so forget about it. -$(DIR)/stubbed_test: $(OBJS) - $(CC) $(OBJS) $(TESTLIBS) -o $(DIR)/stubbed_test - -clean:: - $(RM) $(DIR)/stubbed_test - -test:: $(DIR)/stubbed_test - $(DIR)/stubbed_test $(NAN_TEST_VERBOSITY) diff --git a/source/blender/deflate/test/stubbed/stubbed.c b/source/blender/deflate/test/stubbed/stubbed.c deleted file mode 100644 index 9f1d03e780e..00000000000 --- a/source/blender/deflate/test/stubbed/stubbed.c +++ /dev/null @@ -1,207 +0,0 @@ -/** - * $Id$ - * - * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. The Blender - * Foundation also sells licenses for use in proprietary software under - * the Blender License. See http://www.blender.org/BL/ for information - * about this. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL/BL DUAL LICENSE BLOCK ***** - */ - -/* - * Unit test for the deflater - * - * The deflater compresses data, using the zlib compression - * library. The BLO_deflate module wraps this. It writes the - * compressed data as well. - * - * Tested functions - * - * - BLO_deflate (from BLO_deflate.h) - * - * Commandline arguments: <verbosity> - * verbosity: 0 - print nothing - * 1 - print the results only - * 2 - print everything - * - * */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -#include "BLO_deflate.h" -#include "BLO_writeStreamGlue.h" - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -struct streamGlueControlStruct *Global_streamGlueControl; - -void printStreamGlueHeader(struct streamGlueHeaderStruct *s) -{ - int i = 0; - char* c; - - fprintf(stderr,"| |- streamGlueHeader: %p\n", - s); - fprintf(stderr,"| |- magic: %c\n", - s->magic); - fprintf(stderr,"| |- totalStreamLength: %x hex (%x reversed)," - " %d dec (%d reversed)\n", - s->totalStreamLength, - ntohl(s->totalStreamLength), - s->totalStreamLength, - ntohl(s->totalStreamLength)); - fprintf(stderr,"| |- dataProcessorType: %d (%d reversed)\n", - s->dataProcessorType, - ntohl(s->dataProcessorType)); - fprintf(stderr,"| |- crc: %x hex, (%d dec)\n", - s->crc, - s->crc); - fprintf(stderr,"|\n"); - fprintf(stderr,"|-- Memory dump (starting at %p):", s); - c = (char*) s; - for(i = 0; i < STREAMGLUEHEADERSIZE; i+=4, c+=4) - fprintf(stderr,"%02x%02x%02x%02x-", - *c, - *(c+1) , - *(c+2), - *(c+3) ); - fprintf(stderr,"\n|\n"); - -} - - - -int main (int argc, char *argv[]) -{ - int verbose = 0; - int error_status = 0; - int retval = 0; - struct streamGlueHeaderStruct *streamGlueHeader; - int datachunksize = 12345; - char* datachunk = NULL; - int i = 0; - char* dataptr = NULL; - int sghsize = 0; - - switch (argc) { - case 2: - verbose = atoi(argv[1]); - if (verbose < 0) verbose = 0; - break; - case 1: - default: - verbose = 0; - } - - /* ----------------------------------------------------------------- */ - if (verbose > 0) { - fprintf(stderr,"\n*** Deflate test with stubs\n|\n"); - } - /* ----------------------------------------------------------------- */ - /* We need: - * 1 - a data chunk - * 2 - the bytecount - * 3 - a streamglueheader - * The streamglueheader contains some stats about the datachunk. - */ - - /* because of stupid lib dependencies. */ - Global_streamGlueControl = streamGlueControlConstructor(); - - - /* 2: the size */ - datachunksize = 12345; - - /* 1: a data chunk. We fill it with some numbers */ - datachunk = (char*) malloc(datachunksize); - - /* an ascending-ish thingy */ - dataptr = datachunk; - for (i = 0 ; - i < datachunksize; - i++, dataptr++) { - *dataptr = (i % 0xFF); - } - - /* 3: the streamglue header */ - sghsize = STREAMGLUEHEADERSIZE; - if (verbose > 1) { - fprintf(stderr,"|-- Allocating %d bytes for the header.\n", - sghsize); - } - streamGlueHeader = malloc(sghsize); - streamGlueHeader->magic = 'A'; - streamGlueHeader->totalStreamLength = 0; - streamGlueHeader->dataProcessorType = - htonl(0x2); - streamGlueHeader->crc = 0; - - - if (verbose > 1) { - fprintf(stderr,"|\n"); - fprintf(stderr,"|-- Will call BLO_deflate with args:\n"); - fprintf(stderr,"| |- datachunk pointing to %p\n", - datachunk); - fprintf(stderr,"| |- datachunksize: %d\n", - datachunksize); - printStreamGlueHeader(streamGlueHeader); - fprintf(stderr,"| \n"); - } - - retval = - BLO_deflate( - datachunk, - datachunksize, - streamGlueHeader); - - if (verbose > 1) { - fprintf(stderr,"|-- BLO_deflate returned %d \n", retval); - } - - if (verbose > 1) { - fprintf(stderr,"|\n"); - fprintf(stderr,"|-- Arguments are now:\n"); - fprintf(stderr,"|-- Will call BLO_deflate with args:\n"); - fprintf(stderr,"| |- datachunk pointing to %p\n", - datachunk); - fprintf(stderr,"| |- datachunksize: %d\n", - datachunksize); - printStreamGlueHeader(streamGlueHeader); - fprintf(stderr,"| \n"); - } - - - /* ----------------------------------------------------------------- */ - if (verbose > 0) { - fprintf(stderr,"|\n*** Finished test\n\n"); - } - exit(error_status); -} - -/* eof */ |