char c2 = (char)c;
if (r->connection->aborted) {
- return EOF;
+ return -1;
}
- (void) buffer_output(r, &c2, 1);
+ if (buffer_output(r, &c2, 1) != APR_SUCCESS)
+ return -1;
return c;
}
apr_size_t len;
if (r->connection->aborted)
- return EOF;
- if (*str == '\0')
- return 0;
+ return -1;
- (void) buffer_output(r, str, len = strlen(str));
+ if (buffer_output(r, str, len = strlen(str)) != APR_SUCCESS)
+ return -1;
return len;
}
AP_DECLARE(int) ap_rwrite(const void *buf, int nbyte, request_rec *r)
{
if (r->connection->aborted)
- return EOF;
+ return -1;
- (void) buffer_output(r, buf, nbyte);
+ if (buffer_output(r, buf, nbyte) != APR_SUCCESS)
+ return -1;
return nbyte;
}
apr_size_t written;
if (r->connection->aborted)
- return EOF;
+ return -1;
/* ### fix this mechanism to allow more than 4K of output */
written = apr_vsnprintf(buf, sizeof(buf), fmt, va);
- (void) buffer_output(r, buf, written);
+ if (buffer_output(r, buf, written) != APR_SUCCESS)
+ return -1;
return written;
}
int n;
if (r->connection->aborted)
- return EOF;
+ return -1;
va_start(va, fmt);
n = ap_vrprintf(r, fmt, va);
apr_size_t written;
if (r->connection->aborted)
- return EOF;
+ return -1;
/* ### TODO: if the total output is large, put all the strings
### into a single brigade, rather than flushing each time we
bb = apr_brigade_create(r->pool);
b = apr_bucket_create_flush();
APR_BRIGADE_INSERT_TAIL(bb, b);
- ap_pass_brigade(r->output_filters, bb);
+ if (ap_pass_brigade(r->output_filters, bb) != APR_SUCCESS)
+ return -1;
return 0;
}