summaryrefslogtreecommitdiff
path: root/src/base/buffer.c
diff options
context:
space:
mode:
authorTomas Chvatal (scarabeus) <tomas.chvatal@gmail.com>2008-10-22 22:50:54 +0200
committerTomas Chvatal (scarabeus) <tomas.chvatal@gmail.com>2008-10-22 22:50:54 +0200
commite12753d2ec9db83ec08bb9db63902a82fb245cdd (patch)
tree6e4a63b790d6335f969f88b797a927e0fb25f37a /src/base/buffer.c
parent0b4d9821c7333b8c4bdf7e0eeb750aef502a1137 (diff)
X
Diffstat (limited to 'src/base/buffer.c')
-rwxr-xr-xsrc/base/buffer.c184
1 files changed, 96 insertions, 88 deletions
diff --git a/src/base/buffer.c b/src/base/buffer.c
index 263037b..a2596b8 100755
--- a/src/base/buffer.c
+++ b/src/base/buffer.c
@@ -6,132 +6,140 @@
#include "buffer.h"
-buffer_t * newBuffer(int n)
+buffer_t *
+newBuffer(int n)
{
- buffer_t *new;
+ buffer_t *new;
- new = malloc(sizeof(buffer_t));
- memset(new, 0, sizeof(buffer_t));
- new->alloc = n;
- new->data = malloc(n);
- memset(new->data , 0, n);
+ new = malloc(sizeof(buffer_t));
+ memset(new, 0, sizeof(buffer_t));
+ new->alloc = n;
+ new->data = malloc(n);
+ memset(new->data, 0, n);
- return new;
+ return new;
}
-void* getBufferData(buffer_t *p)
+void *
+getBufferData(buffer_t * p)
{
- return p->data;
+ return p->data;
}
-int getBufferSize(buffer_t *p)
+int
+getBufferSize(buffer_t * p)
{
- return p->size;
+ return p->size;
}
-int addBuffer(buffer_t *p, char *data, int len)
+int
+addBuffer(buffer_t * p, char *data, int len)
{
- assert( p != NULL );
- assert( data != NULL );
- assert( len >= 0 );
-
- if( p->size + len <= p->alloc )
- {
- memcpy(p->data + p->size, data, len);
- p->size += len;
- return len;
- }
-
- return -1;
+ assert(p != NULL);
+ assert(data != NULL);
+ assert(len >= 0);
+
+ if (p->size + len <= p->alloc) {
+ memcpy(p->data + p->size, data, len);
+ p->size += len;
+ return len;
+ }
+
+ return -1;
}
-int cutBuffer(buffer_t *p, int len)
+int
+cutBuffer(buffer_t * p, int len)
{
- assert( p != NULL );
- assert( len >= 0 );
+ assert(p != NULL);
+ assert(len >= 0);
- if( p->size - len >= 0 )
- {
- memmove(p->data, p->data + len, p->size - len);
- p->size -= len;
- return 0;
- }
+ if (p->size - len >= 0) {
+ memmove(p->data, p->data + len, p->size - len);
+ p->size -= len;
+ return 0;
+ }
- return -1;
+ return -1;
}
-int getBufferCount(buffer_t *p)
+int
+getBufferCount(buffer_t * p)
{
- char *begin;
- char *end;
- int count;
- int size;
-
- assert( p != NULL );
-
- count = 0;
- begin = p->data;
- size = p->size;
-
- while( ( end = memchr(begin, '\n', size) ) != NULL )
- {
- count++;
- size -= ( (end+1) - begin);
- begin = end+1;
- }
-
- //printf("count = %d\n", count);
- //printf("data = %s\n", p->data);
- return count;
+ char *begin;
+ char *end;
+ int count;
+ int size;
+
+ assert(p != NULL);
+
+ count = 0;
+ begin = p->data;
+ size = p->size;
+
+ while ((end = memchr(begin, '\n', size)) != NULL) {
+ count++;
+ size -= ((end + 1) - begin);
+ begin = end + 1;
+ }
+
+ //printf("count = %d\n", count);
+ //printf("data = %s\n", p->data);
+ return count;
}
-int getBufferLine(buffer_t *p, char *line, int len)
+int
+getBufferLine(buffer_t * p, char *line, int len)
{
- char *end;
- int ret_len;
+ char *end;
+ int ret_len;
+
+ assert(p != NULL);
+ assert(line != NULL);
+ assert(len >= 0);
- assert( p != NULL );
- assert( line != NULL );
- assert( len >= 0 );
+ end = NULL;
- end = NULL;
+ end = memchr(p->data, '\n', p->size);
- end = memchr(p->data, '\n', p->size);
+ if (end == NULL)
+ return -1;
- if( end == NULL ) return -1;
+ ret_len = (int) (end - p->data) + 1;
+ if (ret_len > len - 1)
+ ret_len = len - 1;
- ret_len = (int) (end - p->data)+1;
- if( ret_len > len-1 ) ret_len = len-1;
-
- memset(line, 0, len);
- memcpy(line, p->data, ret_len);
+ memset(line, 0, len);
+ memcpy(line, p->data, ret_len);
- cutBuffer(p, ret_len);
+ cutBuffer(p, ret_len);
- return ret_len;
+ return ret_len;
}
-int getBufferDataLen(buffer_t *p, char *line, int len)
+int
+getBufferDataLen(buffer_t * p, char *line, int len)
{
- assert( p != NULL );
- assert( line != NULL );
- assert( len >= 0 );
+ assert(p != NULL);
+ assert(line != NULL);
+ assert(len >= 0);
- if( p->size < len )
- {
- len = p->size;
- }
+ if (p->size < len) {
+ len = p->size;
+ }
- memcpy(line, p->data, len);
- cutBuffer(p, len);
+ memcpy(line, p->data, len);
+ cutBuffer(p, len);
- return len;
+ return len;
}
-void destroyBuffer(buffer_t *p)
+void
+destroyBuffer(buffer_t * p)
{
- assert( p != NULL );
+ assert(p != NULL);
- if( p->data != NULL )free(p->data);
- free(p);
+ if (p->data != NULL)
+ free(p->data);
+ free(p);
}