pike.git / src / modules / _Stdio / sendfile.c

version» Context lines:

pike.git/src/modules/_Stdio/sendfile.c:1010:    iovcnt += a->size;    sf.tr_cnt = a->size;    }       /* Set up the iovec's */    if (iovcnt) {   #ifdef HAVE_HPUX_SENDFILE    iovcnt = 2;   #endif /* HAVE_HPUX_SENDFILE */    -  sf.iovs = (struct iovec *)xalloc(sizeof(struct iovec) * iovcnt); +  sf.iovs = xalloc(sizeof(struct iovec) * iovcnt);       sf.hd_iov = sf.iovs;   #ifdef HAVE_HPUX_SENDFILE    sf.tr_iov = sf.iovs + 1;   #else /* !HAVE_HPUX_SENDFILE */    sf.tr_iov = sf.iovs + sf.hd_cnt;   #endif /* HAVE_HPUX_SENDFILE */       if (sf.headers) {    int i;
pike.git/src/modules/_Stdio/sendfile.c:1113: Inside #if defined(PIKE_DEBUG)
   Pike_fatal("sendfile: Stack out of sync(4).\n");    }   #endif /* PIKE_DEBUG */    free_array(sf.trailers);    sp[4-args].u.array = a;    sf.trailers = a;    }       if (sf.from_file) {    /* We may need a buffer to hold the data */ -  if (sf.iovs) { +     ONERROR tmp;    SET_ONERROR(tmp, free, sf.iovs); -  -  sf.buffer = (char *)xalloc(BUF_SIZE); -  +  sf.buffer = xalloc(BUF_SIZE);    UNSET_ONERROR(tmp); -  } else { -  sf.buffer = (char *)xalloc(BUF_SIZE); -  } +     sf.buf_size = BUF_SIZE;    }       {    /* Threaded blocking mode possible */       /* Make sure both file objects are in blocking mode.    */    if (sf.from_file) {    /* set_blocking */