Initial revision

This commit is contained in:
Hans Lambermont
2002-10-12 11:37:38 +00:00
commit 12315f4d0e
1699 changed files with 444708 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
/**
* $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 */

View File

@@ -0,0 +1,39 @@
#
# $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

View File

@@ -0,0 +1,210 @@
/**
* $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 "zlib.h"
#include "GEN_messaging.h"
#include "BLO_writeStreamGlue.h"
#include "BLO_deflate.h"
#include "BLO_in_de_flateHeader.h"
// 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;
}

View File

@@ -0,0 +1,57 @@
#
# $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

View File

@@ -0,0 +1,52 @@
/**
* $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"
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);
}

View File

@@ -0,0 +1,55 @@
#
# $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

View File

@@ -0,0 +1,37 @@
#
# $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

View File

@@ -0,0 +1,72 @@
#
# $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)

View File

@@ -0,0 +1,203 @@
/**
* $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"
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 */