Ejemplo n.º 1
0
void ug_option_entry_print_help (UgOptionEntry* entry,
                                 const char* prog_name,
                                 const char* parameter_string,
                                 const char* summary_string)
{
	UgBuffer  buffer;

	ug_buffer_init (&buffer, 4096);
	buffer.more = buffer_more;

	ug_buffer_write (&buffer, "\n" "Usage:\n  ", -1);
	ug_buffer_write (&buffer, prog_name, -1);
	ug_buffer_write (&buffer, " [OPTION...] ", -1);
	ug_buffer_write (&buffer, parameter_string, -1);
	ug_buffer_write (&buffer, "\n\n", -1);

	if (summary_string) {
		ug_buffer_write (&buffer, summary_string, -1);
		ug_buffer_write (&buffer, "\n\n", -1);
	}

	for (;  entry->long_name;  entry++)
		print_entry (&buffer, entry, 28);
	buffer_more (&buffer);
	ug_buffer_write (&buffer, "\n\n", -1);

	ug_buffer_clear (&buffer, TRUE);
}
Ejemplo n.º 2
0
void buffer_read_buf(struct buffer_t *buffer, void *buf, int size)
{
	if(!buffer)
		return;

	size = min(size, buffer_more(buffer));
	memcpy(buf, &buffer->buf[buffer->readpos], size);
	buffer->readpos += size;
}
Ejemplo n.º 3
0
char buffer_read_char(struct buffer_t *buffer)
{
	if(!buffer)
		return 0;

	if(buffer_more(buffer) >= 1)
		return buffer->buf[buffer->readpos++];

	return (char)BUF_EOB;
}
Ejemplo n.º 4
0
uint8_t buffer_read_uint8(struct buffer_t *buffer)
{
	if(!buffer)
		return 0;

	uint8_t val;

	if(buffer_more(buffer) >= 1)
		val = *(uint8_t*)&buffer->buf[buffer->readpos++];
	else
		val = (uint8_t)BUF_EOB;
	
	return val;
}
Ejemplo n.º 5
0
float buffer_read_float(struct buffer_t *buffer)
{
	if(!buffer)
		return 0.0F;

	float val;

	if(buffer_more(buffer) >= 4)
	{
		val = *(float*)&buffer->buf[buffer->readpos];
		buffer->readpos += 4;
	}
	else
		val = 0.0f;
	
	return val;
}
Ejemplo n.º 6
0
int buffer_read_int(struct buffer_t *buffer)
{
	if(!buffer)
		return 0;

	int val;

	if(buffer_more(buffer) >= 4)
	{
		val = *(int*)&buffer->buf[buffer->readpos];
		buffer->readpos += 4;
	}
	else
		val = (int)BUF_EOB;

	return val;
}
Ejemplo n.º 7
0
uint16_t buffer_read_uint16(struct buffer_t *buffer)
{
	if(!buffer)
		return 0;

	uint16_t val;

	if(buffer_more(buffer) >= 2)
	{
		val = *(uint16_t*)&buffer->buf[buffer->readpos];
		buffer->readpos += 2;
	}
	else
		val = (uint16_t)BUF_EOB;
	
	return val;
}
Ejemplo n.º 8
0
double buffer_read_double(struct buffer_t *buffer)
{
	if(!buffer)
		return 0;

	double val;

	if(buffer_more(buffer) >= 8)
	{
		val = *(double*)&buffer->buf[buffer->readpos];
		buffer->readpos += 8;
	}
	else
		val = (double)BUF_EOB;
	
	return val;
}
Ejemplo n.º 9
0
struct string_t *buffer_read_string(struct buffer_t *buffer)
{
	if(!buffer)
		return NULL;

	struct string_t *s = new_string();

	while(buffer_more(buffer))
	{
		char c = buffer->buf[buffer->readpos++];
		
		if(c == 0)
			break;

		string_cat_char(s, c);
	}

	return s;
}