discarded fascism from buffer

Wed, 10 Oct 2012 13:58:51 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 10 Oct 2012 13:58:51 +0200
changeset 63
1d3500806565
parent 62
6814aea8462d
child 64
16590c9c497c

discarded fascism from buffer

test/buffer_tests.c file | annotate | diff | comparison | revisions
ucx/buffer.c file | annotate | diff | comparison | revisions
ucx/buffer.h file | annotate | diff | comparison | revisions
     1.1 --- a/test/buffer_tests.c	Wed Oct 10 10:46:20 2012 +0200
     1.2 +++ b/test/buffer_tests.c	Wed Oct 10 13:58:51 2012 +0200
     1.3 @@ -16,29 +16,29 @@
     1.4  
     1.5      r = ucx_buffer_seek(b, 5, SEEK_SET);
     1.6      UCX_TEST_ASSERT(r == 0, "seek SET+5 failed");
     1.7 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 5, "seek SET+5 set wrong position");
     1.8 +    UCX_TEST_ASSERT(b->pos == 5, "seek SET+5 set wrong position");
     1.9  
    1.10      r = ucx_buffer_seek(b, 20, SEEK_SET);
    1.11      UCX_TEST_ASSERT(r != 0, "seek beyond bounds shall fail");
    1.12 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 5,
    1.13 +    UCX_TEST_ASSERT(b->pos == 5,
    1.14              "failed seek shall leave pos unchanged");
    1.15  
    1.16      r = ucx_buffer_seek(b, 5, SEEK_CUR);
    1.17      UCX_TEST_ASSERT(r == 0, "seek CUR+5 failed");
    1.18 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 10, "seek CUR+5 set wrong position");
    1.19 +    UCX_TEST_ASSERT(b->pos == 10, "seek CUR+5 set wrong position");
    1.20  
    1.21      r = ucx_buffer_seek(b, 10, SEEK_CUR);
    1.22      UCX_TEST_ASSERT(r != 0, "seek CUR beyond bounds shall fail");
    1.23 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 10,
    1.24 +    UCX_TEST_ASSERT(b->pos == 10,
    1.25              "failed seek shall leave pos unchanged");
    1.26  
    1.27      r = ucx_buffer_seek(b, -5, SEEK_END);
    1.28      UCX_TEST_ASSERT(r == 0, "seek END-5 failed");
    1.29 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 2, "seek END-5 set wrong position");
    1.30 +    UCX_TEST_ASSERT(b->pos == 2, "seek END-5 set wrong position");
    1.31  
    1.32      r = ucx_buffer_seek(b, -10, SEEK_END);
    1.33      UCX_TEST_ASSERT(r != 0, "seek END beyond bounds shall fail");
    1.34 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 2,
    1.35 +    UCX_TEST_ASSERT(b->pos == 2,
    1.36              "failed seek shall leave pos unchanged");
    1.37  
    1.38      UCX_TEST_END
    1.39 @@ -57,10 +57,10 @@
    1.40      UCX_TEST_BEGIN
    1.41  
    1.42      ucx_buffer_putc(b, 48); ucx_buffer_putc(b, 48); ucx_buffer_putc(b, 48);
    1.43 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 3, "pos wrong after first 3 puts");
    1.44 +    UCX_TEST_ASSERT(b->pos == 3, "pos wrong after first 3 puts");
    1.45      ucx_buffer_seek(b, 10, SEEK_CUR);
    1.46      ucx_buffer_putc(b, 48); ucx_buffer_putc(b, 48); ucx_buffer_putc(b, 48);
    1.47 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 16, "pos wrong after last 3 puts");
    1.48 +    UCX_TEST_ASSERT(b->pos == 16, "pos wrong after last 3 puts");
    1.49      UCX_TEST_ASSERT(ucx_buffer_eof(b), "eof not set");
    1.50      UCX_TEST_ASSERT(ucx_buffer_putc(b, 48) == EOF,
    1.51              "put shall return EOF when buffer is full");
    1.52 @@ -87,12 +87,12 @@
    1.53  
    1.54      char rb[16];
    1.55      for (int i = 0 ; i < 16 ; i++) {
    1.56 -        UCX_TEST_ASSERT(ucx_buffer_tell(b) == i, "pos wrong during read loop");
    1.57 +        UCX_TEST_ASSERT(b->pos == i, "pos wrong during read loop");
    1.58          UCX_TEST_ASSERT(!ucx_buffer_eof(b),
    1.59                  "EOF shall not be set during read loop");
    1.60          rb[i] = ucx_buffer_getc(b);
    1.61      }
    1.62 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 16, "pos wrong after read loop");
    1.63 +    UCX_TEST_ASSERT(b->pos == 16, "pos wrong after read loop");
    1.64      UCX_TEST_ASSERT(ucx_buffer_eof(b), "EOF not set");
    1.65      UCX_TEST_ASSERT(memcmp(rb, "        01234567", 16) == 0,
    1.66              "read data incorrect");
    1.67 @@ -133,7 +133,7 @@
    1.68      ucx_buffer_seek(b, 0, SEEK_SET);
    1.69      r = ucx_buffer_write(threebytestring, 3, 6, b);
    1.70      UCX_TEST_ASSERT(r == 15, "three byte string not correctly trimed");
    1.71 -    UCX_TEST_ASSERT(ucx_buffer_tell(b) == 15,
    1.72 +    UCX_TEST_ASSERT(b->pos == 15,
    1.73              "position after write of three byte string incorrect");
    1.74      UCX_TEST_ASSERT(!ucx_buffer_eof(b), "eof shall not be set");
    1.75      UCX_TEST_ASSERT(memcmp(buffer, "  t  h  r  e  e1", 16) == 0,
    1.76 @@ -194,9 +194,9 @@
    1.77              *dst = ucx_buffer_extract(src, 5, 5, UCX_BUFFER_DEFAULT);
    1.78  
    1.79      UCX_TEST_BEGIN
    1.80 -    UCX_TEST_ASSERT(ucx_buffer_testflags(dst, UCX_BUFFER_AUTOFREE),
    1.81 +    UCX_TEST_ASSERT((dst->flags & UCX_BUFFER_AUTOFREE) == UCX_BUFFER_AUTOFREE,
    1.82              "autofree flag shall be enforced");
    1.83 -    UCX_TEST_ASSERT(ucx_buffer_size(dst) == 5, "wrong size for new buffer");
    1.84 +    UCX_TEST_ASSERT(dst->size == 5, "wrong size for new buffer");
    1.85      char rb[5];
    1.86      ucx_buffer_read(rb, 1, 5, dst);
    1.87      UCX_TEST_ASSERT(memcmp(rb, "is a ", 5) == 0,
     2.1 --- a/ucx/buffer.c	Wed Oct 10 10:46:20 2012 +0200
     2.2 +++ b/ucx/buffer.c	Wed Oct 10 13:58:51 2012 +0200
     2.3 @@ -3,13 +3,6 @@
     2.4  #include <stdlib.h>
     2.5  #include <string.h>
     2.6  
     2.7 -struct UcxBuffer {
     2.8 -    void *space;
     2.9 -    size_t pos;
    2.10 -    size_t size;
    2.11 -    int flags;
    2.12 -};
    2.13 -
    2.14  UcxBuffer *ucx_buffer_new(void *space, size_t length, int flags) {
    2.15      UcxBuffer *buffer = (UcxBuffer*) malloc(sizeof(UcxBuffer));
    2.16      if (buffer) {
    2.17 @@ -34,7 +27,7 @@
    2.18  }
    2.19  
    2.20  void ucx_buffer_free(UcxBuffer *buffer) {
    2.21 -    if (ucx_buffer_testflags(buffer, UCX_BUFFER_AUTOFREE)) {
    2.22 +    if ((buffer->flags & UCX_BUFFER_AUTOFREE) == UCX_BUFFER_AUTOFREE) {
    2.23          free(buffer->space);
    2.24      }
    2.25      free(buffer);
    2.26 @@ -93,18 +86,6 @@
    2.27      return buffer->pos >= buffer->size;
    2.28  }
    2.29  
    2.30 -size_t ucx_buffer_tell(UcxBuffer *buffer) {
    2.31 -    return buffer->pos;
    2.32 -}
    2.33 -
    2.34 -size_t ucx_buffer_size(UcxBuffer *buffer) {
    2.35 -    return buffer->size;
    2.36 -}
    2.37 -
    2.38 -int ucx_buffer_testflags(UcxBuffer *buffer, int flags) {
    2.39 -    return (buffer->flags & flags) == flags;
    2.40 -}
    2.41 -
    2.42  size_t ucx_bufio(void* d, size_t s, size_t n, UcxBuffer *b, _Bool read) {
    2.43      size_t len;
    2.44      if (b->pos + s*n > b->size) {
     3.1 --- a/ucx/buffer.h	Wed Oct 10 10:46:20 2012 +0200
     3.2 +++ b/ucx/buffer.h	Wed Oct 10 13:58:51 2012 +0200
     3.3 @@ -10,9 +10,15 @@
     3.4  
     3.5  #define UCX_BUFFER_DEFAULT      0x00
     3.6  #define UCX_BUFFER_AUTOFREE     0x01
     3.7 +#define UCX_BUFFER_AUTOEXTEND   0x02
     3.8  
     3.9 -/* the user shall not modify values */
    3.10 -typedef struct UcxBuffer UcxBuffer;
    3.11 +/* the user shall not modify values, but can get an up to date space pointer */
    3.12 +typedef struct {
    3.13 +    void *space;
    3.14 +    size_t pos;
    3.15 +    size_t size;
    3.16 +    int flags;
    3.17 +} UcxBuffer;
    3.18  
    3.19  /* if space is NULL, new space is allocated and the autofree flag is enforced */
    3.20  UcxBuffer *ucx_buffer_new(void *space, size_t length, int flags);
    3.21 @@ -41,10 +47,6 @@
    3.22   *
    3.23   */
    3.24  int ucx_buffer_seek(UcxBuffer *buffer, off_t offset, int whence);
    3.25 -size_t ucx_buffer_tell(UcxBuffer *buffer);
    3.26 -size_t ucx_buffer_size(UcxBuffer *buffer);
    3.27 -/* returns non-zero, if at least the specified flags are set */
    3.28 -int ucx_buffer_testflags(UcxBuffer *buffer, int flags);
    3.29  
    3.30  /*
    3.31   * returns non-zero, iff the current buffer position has exceeded the last

mercurial