mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
php_stream replacement for fprintf
#Agreed by Wez - I will use this mysel soon.
This commit is contained in:
parent
64f77577f0
commit
1f0b200188
2 changed files with 23 additions and 0 deletions
|
@ -347,6 +347,10 @@ PHPAPI size_t _php_stream_write(php_stream *stream, const char *buf, size_t coun
|
|||
#define php_stream_write_string(stream, str) _php_stream_write(stream, str, strlen(str) TSRMLS_CC)
|
||||
#define php_stream_write(stream, buf, count) _php_stream_write(stream, (buf), (count) TSRMLS_CC)
|
||||
|
||||
PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...);
|
||||
/* php_stream_printf macro & function require TSRMLS_CC */
|
||||
#define php_stream_printf _php_stream_printf
|
||||
|
||||
PHPAPI int _php_stream_eof(php_stream *stream TSRMLS_DC);
|
||||
#define php_stream_eof(stream) _php_stream_eof((stream) TSRMLS_CC)
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue