Diff for /embedaddon/lighttpd/src/proc_open.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2013/10/14 10:32:48 version 1.1.1.2, 2016/11/02 10:35:00
Line 1 Line 1
   #include "first.h"
   
 #include "proc_open.h"  #include "proc_open.h"
   
 #include <stdlib.h>  #include <stdlib.h>
Line 280  static void proc_read_fd_to_buffer(int fd, buffer *b)  Line 282  static void proc_read_fd_to_buffer(int fd, buffer *b) 
         ssize_t s;          ssize_t s;
   
         for (;;) {          for (;;) {
                buffer_prepare_append(b, 512);                buffer_string_prepare_append(b, 1024);
                if ((s = read(fd, (void *)(b->ptr + b->used), 512 - 1)) <= 0) {                if ((s = read(fd, (void *)(b->ptr + buffer_string_length(b)), buffer_string_space(b))) <= 0) {
                         break;                          break;
                 }                  }
                b->used += s;                buffer_commit(b, s);
         }          }
         b->ptr[b->used] = '\0';  
 }  }
 /* }}} */  /* }}} */
 /* {{{ proc_open_buffer */  /* {{{ proc_open_buffer */
Line 298  int proc_open_buffer(const char *command, buffer *in,  Line 299  int proc_open_buffer(const char *command, buffer *in, 
         }          }
   
         if (in) {          if (in) {
                if (write(proc.in.fd, (void *)in->ptr, in->used) < 0) {                if (write(proc.in.fd, CONST_BUF_LEN(in)) < 0) {
                         perror("error writing pipe");                          perror("error writing pipe");
                         return -1;                          return -1;
                 }                  }
Line 315  int proc_open_buffer(const char *command, buffer *in,  Line 316  int proc_open_buffer(const char *command, buffer *in, 
         } else {          } else {
                 buffer *tmp = buffer_init();                  buffer *tmp = buffer_init();
                 proc_read_fd_to_buffer(proc.err.fd, tmp);                  proc_read_fd_to_buffer(proc.err.fd, tmp);
                if (tmp->used > 0 &&  write(2, (void*)tmp->ptr, tmp->used) < 0) {                if (!buffer_string_is_empty(tmp) &&  write(2, CONST_BUF_LEN(tmp)) < 0) {
                         perror("error writing pipe");                          perror("error writing pipe");
                         buffer_free(tmp);                          buffer_free(tmp);
                         return -1;                          return -1;

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


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