ucx/memstream.c

changeset 57
e18157c52985
parent 56
76caac0da4a0
child 58
733f22fca61a
     1.1 --- a/ucx/memstream.c	Tue Oct 09 15:02:40 2012 +0200
     1.2 +++ b/ucx/memstream.c	Tue Oct 09 16:46:29 2012 +0200
     1.3 @@ -3,14 +3,14 @@
     1.4  #include <stdlib.h>
     1.5  #include <string.h>
     1.6  
     1.7 -struct _UcxMemstream {
     1.8 +struct UcxMemstream {
     1.9      void *space;
    1.10 -    size_t pos;
    1.11 +    off_t pos;
    1.12      size_t length;
    1.13      _Bool autofree;
    1.14  };
    1.15  
    1.16 -UcxMemstream *ucx_memopen(void* space, size_t length) {
    1.17 +UcxMemstream *ucx_memopen(void *space, size_t length) {
    1.18      UcxMemstream *stream = (UcxMemstream*) malloc(sizeof(UcxMemstream));
    1.19      if (stream) {
    1.20          if (!space) {
    1.21 @@ -40,8 +40,8 @@
    1.22      free(stream);
    1.23  }
    1.24  
    1.25 -int ucx_memseek(UcxMemstream *stream, long offset, int whence) {
    1.26 -    size_t npos;
    1.27 +int ucx_memseek(UcxMemstream *stream, off_t offset, int whence) {
    1.28 +    off_t npos;
    1.29      switch (whence) {
    1.30      case SEEK_SET:
    1.31          npos = 0;
    1.32 @@ -95,9 +95,9 @@
    1.33      }
    1.34  
    1.35      if (read) {
    1.36 -        memcpy(d, m->space+m->pos, len);
    1.37 +        memcpy(d, (char*)m->space+m->pos, len);
    1.38      } else {
    1.39 -        memcpy(m->space+m->pos, d, len);
    1.40 +        memcpy((char*)m->space+m->pos, d, len);
    1.41      }
    1.42      m->pos += len;
    1.43  
    1.44 @@ -128,7 +128,7 @@
    1.45  int ucx_memprintf(UcxMemstream *stream, const char* format, ...) {
    1.46      va_list v;
    1.47      va_start(v, format);
    1.48 -    int r = vsprintf(stream->space+stream->pos, format, v);
    1.49 +    int r = vsprintf((char*)stream->space+stream->pos, format, v);
    1.50      va_end(v);
    1.51  
    1.52      stream->pos += r;
    1.53 @@ -143,7 +143,7 @@
    1.54  
    1.55      va_list v;
    1.56      va_start(v, format);
    1.57 -    int r = vsscanf(stream->space+stream->pos, format, v);
    1.58 +    int r = vsscanf((char*)stream->space+stream->pos, format, v);
    1.59      va_end(v);
    1.60  
    1.61      stream->pos += r;

mercurial