Diff for /libaitio/src/bufio.c between versions 1.5.6.2 and 1.9

version 1.5.6.2, 2012/05/23 14:06:08 version 1.9, 2014/02/08 22:06:17
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012Copyright 2004 - 2014
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 62  cf_(struct tagBufIO *buf) Line 62  cf_(struct tagBufIO *buf)
         }          }
   
         if (buf->buf_mode == BUFIO_MODE_INFINIT)          if (buf->buf_mode == BUFIO_MODE_INFINIT)
                io_free(buf->buf_base);                e_free(buf->buf_base);
         else if (buf->buf_unmap)          else if (buf->buf_unmap)
                 buf->buf_unmap(buf);                  buf->buf_unmap(buf);
   
        io_free(buf);        e_free(buf);
         return 0;          return 0;
 }  }
   
Line 157  sf_inf(struct tagBufIO *buf, fpos_t pos, int w) Line 157  sf_inf(struct tagBufIO *buf, fpos_t pos, int w)
                         if (pos < 0)                          if (pos < 0)
                                 goto err;                                  goto err;
                         if (buf->buf_size < pos) {                          if (buf->buf_size < pos) {
                                b = io_realloc(buf->buf_base, pos);                                b = e_realloc(buf->buf_base, pos);
                                 if (!b) {                                  if (!b) {
                                         LOGERR;                                          LOGERR;
                                         return -1;                                          return -1;
Line 173  sf_inf(struct tagBufIO *buf, fpos_t pos, int w) Line 173  sf_inf(struct tagBufIO *buf, fpos_t pos, int w)
                         if ((buf->buf_offset + pos) < 0)                          if ((buf->buf_offset + pos) < 0)
                                 goto err;                                  goto err;
                         if (buf->buf_size < (buf->buf_offset + pos)) {                          if (buf->buf_size < (buf->buf_offset + pos)) {
                                b = io_realloc(buf->buf_base, buf->buf_offset + pos);                                b = e_realloc(buf->buf_base, buf->buf_offset + pos);
                                 if (!b) {                                  if (!b) {
                                         LOGERR;                                          LOGERR;
                                         return -1;                                          return -1;
Line 190  sf_inf(struct tagBufIO *buf, fpos_t pos, int w) Line 190  sf_inf(struct tagBufIO *buf, fpos_t pos, int w)
                         if ((buf->buf_size + pos) < 0)                          if ((buf->buf_size + pos) < 0)
                                 goto err;                                  goto err;
                         if (buf->buf_size < (buf->buf_size + pos)) {                          if (buf->buf_size < (buf->buf_size + pos)) {
                                b = io_realloc(buf->buf_base, buf->buf_size + pos);                                b = e_realloc(buf->buf_base, buf->buf_size + pos);
                                 if (!b) {                                  if (!b) {
                                         LOGERR;                                          LOGERR;
                                         return -1;                                          return -1;
Line 224  wf_inf(struct tagBufIO *buf, const char *dat, int siz) Line 224  wf_inf(struct tagBufIO *buf, const char *dat, int siz)
         }          }
   
         if (buf->buf_offset + siz > buf->buf_size) {          if (buf->buf_offset + siz > buf->buf_size) {
                b = io_realloc(buf->buf_base, buf->buf_offset + siz);                b = e_realloc(buf->buf_base, buf->buf_offset + siz);
                 if (!b) {                  if (!b) {
                         LOGERR;                          LOGERR;
                         return -1;                          return -1;
Line 260  io_fmemopen(void ** __restrict base, off_t basesize) Line 260  io_fmemopen(void ** __restrict base, off_t basesize)
                 return NULL;                  return NULL;
         }          }
   
        buf = io_malloc(sizeof(struct tagBufIO));        buf = e_malloc(sizeof(struct tagBufIO));
         if (!buf) {          if (!buf) {
                 LOGERR;                  LOGERR;
                 return NULL;                  return NULL;
Line 268  io_fmemopen(void ** __restrict base, off_t basesize) Line 268  io_fmemopen(void ** __restrict base, off_t basesize)
                 memset(buf, 0, sizeof(struct tagBufIO));                  memset(buf, 0, sizeof(struct tagBufIO));
   
         if (!*base) {          if (!*base) {
                *base = io_malloc(basesize);                *base = e_malloc(basesize);
                 if (!*base) {                  if (!*base) {
                         LOGERR;                          LOGERR;
                        io_free(buf);                        e_free(buf);
                         return NULL;                          return NULL;
                 } else                  } else
                         memset(*base, 0, basesize);                          memset(*base, 0, basesize);
Line 309  io_fmemopen(void ** __restrict base, off_t basesize) Line 309  io_fmemopen(void ** __restrict base, off_t basesize)
         if (!f) {          if (!f) {
                 LOGERR;                  LOGERR;
                 if (buf->buf_mode == BUFIO_MODE_INFINIT) {                  if (buf->buf_mode == BUFIO_MODE_INFINIT) {
                        io_free(*base);                        e_free(*base);
                         *base = NULL;                          *base = NULL;
                 }                  }
                io_free(buf);                e_free(buf);
                 return NULL;                  return NULL;
         }          }
   
Line 373  io_fmapopen(const char *csFile, int mode, int perm, in Line 373  io_fmapopen(const char *csFile, int mode, int perm, in
         }          }
   
   
        buf = io_malloc(sizeof(struct tagBufIO));        buf = e_malloc(sizeof(struct tagBufIO));
         if (!buf) {          if (!buf) {
                 LOGERR;                  LOGERR;
                 munmap(base, basesize);                  munmap(base, basesize);
Line 399  io_fmapopen(const char *csFile, int mode, int perm, in Line 399  io_fmapopen(const char *csFile, int mode, int perm, in
 #endif  #endif
         if (!f) {          if (!f) {
                 LOGERR;                  LOGERR;
                io_free(buf);                e_free(buf);
                 munmap(base, basesize);                  munmap(base, basesize);
                 return NULL;                  return NULL;
         }          }
Line 447  err: Line 447  err:
  * @mode = Permissions for new buffered file I/O   * @mode = Permissions for new buffered file I/O
  * return: NULL error or open buffered file   * return: NULL error or open buffered file
  */   */
inline FILE *FILE *
 io_fd2buf(int fd, const char *mode)  io_fd2buf(int fd, const char *mode)
 {  {
         FILE *f;          FILE *f;

Removed from v.1.5.6.2  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>