Esempio n. 1
0
unsigned char *BStream_readDataOfLength_(BStream *self, size_t length)
{
	if (self->index + length <= ByteArray_size(self->ba))
	{
		unsigned char *b = ByteArray_bytes(self->ba) + self->index;
		self->index += length;
		return b;
	}
	
	return NULL;
}
Esempio n. 2
0
uint8_t BStream_readUint8(BStream *self)
{
	if (self->index < ByteArray_size(self->ba))
	{
		unsigned char b = ByteArray_bytes(self->ba)[self->index];
		self->index ++;
		return b;
	}
	
	return 0;
}
Esempio n. 3
0
void BStream_readNumber_size_(BStream *self, unsigned char *v, int size)
{
	if (self->index + size <= ByteArray_size(self->ba))
	{
		unsigned char *b = ByteArray_bytes(self->ba);
		memcpy(v, b + self->index, size);
		
		if (self->flipEndian) 
		{
			reverseBytes(v, size);
		}
		
		self->index += size;
		return;
	}
	
	while (size--)
	{
		*v = 0;
		v ++;
	}
}
Esempio n. 4
0
int BStream_isEmpty(BStream *self)
{
	return ByteArray_size(self->ba) == 0;
}
Esempio n. 5
0
int BStream_atEnd(BStream *self)
{
	return self->index >= ByteArray_size(self->ba);
}
Esempio n. 6
0
void BStream_writeTaggedByteArray_(BStream *self, ByteArray *ba)
{
	BStream_writeTaggedData_length_(self, ByteArray_bytes(ba), ByteArray_size(ba));
}
Esempio n. 7
0
void BStream_writeByteArray_(BStream *self, ByteArray *ba)
{
	BStream_writeInt32_(self, ByteArray_size(ba));
	ByteArray_append_(self->ba, ba);
	self->index += ByteArray_size(ba);
}
Esempio n. 8
0
/*-----------------------------------------------------------------------------
*   return size of current section
*----------------------------------------------------------------------------*/
int get_section_size( Section *section )
{
    init_module();
    return ByteArray_size( section->bytes );
}