/*
- * Copyright (C) 2006-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
t->error = 0;
if (!sot->check_fd) {
- if (*sot->input_error < 0)
+ if (!*sot->loaded && *sot->input_error < 0)
t->error = *sot->input_error;
return;
}
if (!FD_ISSET(STDOUT_FILENO, &s->wfds))
return;
- ret = write(STDOUT_FILENO, sot->buf, *sot->loaded);
+ ret = write(STDOUT_FILENO, *sot->bufp, *sot->loaded);
if (ret < 0) {
t->error = -ERRNO_TO_PARA_ERROR(errno);
return;
}
*sot->loaded -= ret;
if (*sot->loaded)
- memmove(sot->buf, sot->buf + ret, *sot->loaded);
+ memmove(*sot->bufp, *sot->bufp + ret, *sot->loaded);
}
/**