PDA

View Full Version : doubt in c programming



deepa.selvaraj
9th November 2007, 07:15
hi
i have .c .h file.but i dont know how to call each funtion in main.c .i dont know for each funtion parameter what should i give.i have attached .c .h file with this.

/* 7zBuffer.c */

#include "7zBuffer.h"
#include "7zAlloc.h"

void SzByteBufferInit(CSzByteBuffer *buffer)
{
buffer->Capacity = 0;
buffer->Items = 0;
}

int SzByteBufferCreate(CSzByteBuffer *buffer, size_t newCapacity, void * (*allocFunc)(size_t size))
{
buffer->Capacity = newCapacity;
if (newCapacity == 0)
{
buffer->Items = 0;
return 1;
}
buffer->Items = (Byte *)allocFunc(newCapacity);
return (buffer->Items != 0);
}

void SzByteBufferFree(CSzByteBuffer *buffer, void (*freeFunc)(void *))
{
freeFunc(buffer->Items);
buffer->Items = 0;
buffer->Capacity = 0;
}

wysota
9th November 2007, 11:18
What do you want to do? From what I see this is part of some API (7z compressor, probably). The three functions you pasted create, initialize and free the buffer.
From what I see you may use it as follows:
CSzByteBuffer buffer;
SzByteBufferInit(&buffer);
SzByteBufferCreate(&buffer, 10, malloc);
/* ... */
SzByteBufferFree(&buffer, free);