about summary refs log tree commit diff
path: root/src/engine/datafile.c
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-10-06 17:01:06 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-10-06 17:01:06 +0000
commitf9162202b0ceb25fae4a0848a4a99dbe1158bd22 (patch)
tree1e6350bb0608f2a599e0a303fcf5b18aab691102 /src/engine/datafile.c
parent449146a2753deb657e0ef641bd6065467ef75322 (diff)
downloadzcatch-f9162202b0ceb25fae4a0848a4a99dbe1158bd22.tar.gz
zcatch-f9162202b0ceb25fae4a0848a4a99dbe1158bd22.zip
fixed some C errors
Diffstat (limited to 'src/engine/datafile.c')
-rw-r--r--src/engine/datafile.c66
1 files changed, 37 insertions, 29 deletions
diff --git a/src/engine/datafile.c b/src/engine/datafile.c
index 01c99a21..d5a68f41 100644
--- a/src/engine/datafile.c
+++ b/src/engine/datafile.c
@@ -71,6 +71,9 @@ DATAFILE *datafile_load(const char *filename)
 	unsigned *dst;
 	unsigned char *src;
 	unsigned j;
+	int size = 0;
+	int allocsize = 0;
+	
 	(void)dst;
 	(void)src;
 	(void)j;
@@ -103,14 +106,14 @@ DATAFILE *datafile_load(const char *filename)
 	}
 	
 	/* read in the rest except the data */
-	int size = 0;
+	size = 0;
 	size += header.num_item_types*sizeof(DATAFILE_ITEM_TYPE);
 	size += (header.num_items+header.num_raw_data)*sizeof(int);
 	if(header.version == 4)
 		size += header.num_raw_data*sizeof(int); /* v4 has uncompressed data sizes aswell */
 	size += header.item_size;
 	
-	int allocsize = size;
+	allocsize = size;
 	allocsize += sizeof(DATAFILE); /* add space for info structure */
 	allocsize += header.num_raw_data*sizeof(void*); /* add space for data pointers */
 
@@ -216,9 +219,11 @@ void *datafile_get_data(DATAFILE *df, int index)
 		if(df->header.version == 4)
 		{
 			/* v4 has compressed data */
-			dbg_msg("datafile", "loading data index=%d size=%d", index, datasize);
 			void *temp = (char *)mem_alloc(datasize, 1);
 			unsigned long uncompressed_size = df->info.data_sizes[index];
+			unsigned long s;
+
+			dbg_msg("datafile", "loading data index=%d size=%d", index, datasize);
 			df->data_ptrs[index] = (char *)mem_alloc(uncompressed_size, 1);
 			
 			/* read the compressed data */
@@ -226,7 +231,7 @@ void *datafile_get_data(DATAFILE *df, int index)
 			io_read(df->file, temp, datasize);
 			
 			/* decompress the data, TODO: check for errors */
-			unsigned long s = uncompressed_size;
+			s = uncompressed_size;
 			uncompress((Bytef*)df->data_ptrs[index], &s, (Bytef*)temp, datasize);
 			
 			/* clean up the temporary buffers */
@@ -424,8 +429,9 @@ int datafile_add_data(DATAFILE_OUT *df, int size, void *data)
 {
 	DATA_INFO *info = &df->datas[df->num_datas];
 	void *compdata = mem_alloc(size, 1); /* temporary buffer that we use duing compression */
-	info->uncompressed_size = size;
 	unsigned long s = size;
+
+	info->uncompressed_size = size;
 	if(compress((Bytef*)compdata, &s, (Bytef*)data, size) != Z_OK)
 		dbg_assert(0, "zlib error");
 	info->compressed_size = (int)s;
@@ -439,17 +445,18 @@ int datafile_add_data(DATAFILE_OUT *df, int size, void *data)
 
 int datafile_finish(DATAFILE_OUT *df)
 {
-	/* we should now write this file! */
-	if(DEBUG)
-		dbg_msg("datafile", "writing");
-
 	int itemsize = 0;
 	int i, count, offset;
 	int typessize, headersize, offsetsize, filesize, swapsize;
 	int datasize = 0;
 	DATAFILE_ITEM_TYPE info;
 	DATAFILE_ITEM itm;
-	
+	DATAFILE_HEADER header;
+
+	/* we should now write this file! */
+	if(DEBUG)
+		dbg_msg("datafile", "writing");
+
 	/* calculate sizes */
 	for(i = 0; i < df->num_items; i++)
 	{
@@ -475,25 +482,26 @@ int datafile_finish(DATAFILE_OUT *df)
 		dbg_msg("datafile", "num_item_types=%d typessize=%d itemsize=%d datasize=%d", df->num_item_types, typessize, itemsize, datasize);
 	
 	/* construct header */
-	DATAFILE_HEADER header;
-	header.id[0] = 'D';
-	header.id[1] = 'A';
-	header.id[2] = 'T';
-	header.id[3] = 'A';
-	header.version = 4;
-	header.size = filesize - 16;
-	header.swaplen = swapsize - 16;
-	header.num_item_types = df->num_item_types;
-	header.num_items = df->num_items;
-	header.num_raw_data = df->num_datas;
-	header.item_size = itemsize;
-	header.data_size = datasize;
-	
-	/* TODO: apply swapping */
-	/* write header */
-	if(DEBUG)
-		dbg_msg("datafile", "headersize=%d", sizeof(header));
-	io_write(df->file, &header, sizeof(header));
+	{
+		header.id[0] = 'D';
+		header.id[1] = 'A';
+		header.id[2] = 'T';
+		header.id[3] = 'A';
+		header.version = 4;
+		header.size = filesize - 16;
+		header.swaplen = swapsize - 16;
+		header.num_item_types = df->num_item_types;
+		header.num_items = df->num_items;
+		header.num_raw_data = df->num_datas;
+		header.item_size = itemsize;
+		header.data_size = datasize;
+		
+		/* TODO: apply swapping */
+		/* write header */
+		if(DEBUG)
+			dbg_msg("datafile", "headersize=%d", sizeof(header));
+		io_write(df->file, &header, sizeof(header));
+	}
 	
 	/* write types */
 	for(i = 0, count = 0; i < 0xffff; i++)