summaryrefslogtreecommitdiff
path: root/main/streams.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/streams.c')
-rwxr-xr-xmain/streams.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/main/streams.c b/main/streams.c
index 990f676328..0a3ad4ca5a 100755
--- a/main/streams.c
+++ b/main/streams.c
@@ -825,6 +825,25 @@ PHPAPI size_t _php_stream_write(php_stream *stream, const char *buf, size_t coun
return didwrite;
}
+PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...)
+{
+ size_t count;
+ char *buf;
+ va_list ap;
+
+ va_start(ap, fmt);
+ count = vspprintf(&buf, 0, fmt, ap);
+ va_end(ap);
+
+ if (!buf)
+ return 0; /* error condition */
+
+ count = php_stream_write(stream, buf, count);
+ efree(buf);
+
+ return count;
+}
+
PHPAPI off_t _php_stream_tell(php_stream *stream TSRMLS_DC)
{
return stream->position;