Exemple #1
0
void buffer_putnstr(struct buffer *b, const char *str,size_t n)
{
	_buffer_extendby(b, n + 1);
	memcpy(&b->buf[b->NUL], str, n);
	b->NUL += n;
	b->buf[b->NUL] = '\0';
}
Exemple #2
0
void _string_vprintf(struct buffer *b, const char *fmt, va_list ap)
{
	int num_required;
	while ((num_required = vsnprintf(b->buf + b->NUL, b->buflen - b->NUL, fmt, ap)) >= b->buflen - b->NUL)
		_buffer_extendby(b, num_required + 1);
	b->NUL += num_required;
}
Exemple #3
0
/*
 * Big-Endian
 */
void buffer_putint(struct buffer *b, int val)
{
	_buffer_extendby(b, sizeof(int));
	b->buf[b->NUL++] = (val >> 24) & 0xff;
	b->buf[b->NUL++] = (val >> 16) & 0xff;
	b->buf[b->NUL++] = (val >> 8) & 0xff;
	b->buf[b->NUL++] = val & 0xff;
}
Exemple #4
0
void buffer_putstr(struct buffer *b, const char *str)
{
	size_t len = strlen(str);

	_buffer_extendby(b, len + 1);
	memcpy(&b->buf[b->NUL], str, len);
	b->NUL += len;
	b->buf[b->NUL] = '\0';
}
Exemple #5
0
struct buffer *buffer_new(size_t reserve)
{
	struct buffer *b = xmalloc(sizeof(struct buffer));

	memset(b, 0, sizeof(struct buffer));
	if (reserve)
		_buffer_extendby(b, reserve + 1);

	return b;
}
Exemple #6
0
void buffer_putfilter( struct buffer *b,bloom_filter* bfilter )
{
	int len;
	len = bfilter->filter_size * sizeof(unsigned) + sizeof(bfilter->filter_size) 
		 + sizeof(bfilter->num_buckets);
	if (len > b->buflen)
		_buffer_extendby(b, len + 1024);
	buffer_putint(b,bfilter->filter_size);
	buffer_putint(b,bfilter->num_buckets);
	buffer_putnstr(b,bfilter->filter,bfilter->filter_size * sizeof(unsigned));
}
Exemple #7
0
struct buffer *buffer_new(size_t reserve)
{
	struct buffer *b = malloc(sizeof(struct buffer));
	b->buf = NULL;
	b->NUL = 0;
	b->buflen = 0;

	if (reserve)
		_buffer_extendby(b, reserve + 1);

	return b;
}
Exemple #8
0
/*
 * Big-Endian
 */
void buffer_putlong(struct buffer *b, uint64_t val)
{
	_buffer_extendby(b, sizeof(uint64_t));
	b->buf[b->NUL++] = (val >> 56) & 0xff;
	b->buf[b->NUL++] = (val >> 48) & 0xff;
	b->buf[b->NUL++] = (val >> 40) & 0xff;
	b->buf[b->NUL++] = (val >> 32) & 0xff;
	b->buf[b->NUL++] = (val >> 24) & 0xff;
	b->buf[b->NUL++] = (val >> 16) & 0xff;
	b->buf[b->NUL++] = (val >> 8) & 0xff;
	b->buf[b->NUL++] = val & 0xff;
}
Exemple #9
0
void buffer_putdata(struct buffer *b, struct data_item* d)
{
	int len;
	len = d->key_len + d->value_len;
	if(b->NUL + len + 21 >= b->buflen)//21 is the other member of data_item:int int int int64 char = 21
		_buffer_extendby(b, 1024);
	buffer_putint(b,len);
	buffer_putint(b,d->key_len);
	buffer_putint(b,d->value_len);
	buffer_putc(b,d->type);
	buffer_putlong(b,d->version);
	buffer_putnstr(b,d->key,d->key_len);
	buffer_putnstr(b,d->value,d->value_len);

}
Exemple #10
0
void buffer_putc(struct buffer *b, const char c)
{
	_buffer_extendby(b, 2);
	b->buf[b->NUL++] = c;
	b->buf[b->NUL] = '\0';
}
Exemple #11
0
void buffer_putshort(struct buffer *b, short val)
{
	_buffer_extendby(b, sizeof(short));
	b->buf[b->NUL++] = val & 0xff;
	b->buf[b->NUL++] = (val >> 8) & 0xff;
}