helly           Tue Nov  5 19:15:24 2002 EDT

  Modified files:              
    /php4/main  php_streams.h streams.c 
  Log:
  php_stream replacement for fprintf
  #Agreed by Wez - I will use this mysel soon.
  
  
Index: php4/main/php_streams.h
diff -u php4/main/php_streams.h:1.59 php4/main/php_streams.h:1.60
--- php4/main/php_streams.h:1.59        Tue Nov  5 06:10:06 2002
+++ php4/main/php_streams.h     Tue Nov  5 19:15:24 2002
@@ -347,6 +347,10 @@
 #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)
 
Index: php4/main/streams.c
diff -u php4/main/streams.c:1.123 php4/main/streams.c:1.124
--- php4/main/streams.c:1.123   Thu Oct 31 23:58:23 2002
+++ php4/main/streams.c Tue Nov  5 19:15:24 2002
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: streams.c,v 1.123 2002/11/01 04:58:23 wez Exp $ */
+/* $Id: streams.c,v 1.124 2002/11/06 00:15:24 helly Exp $ */
 
 #define _GNU_SOURCE
 #include "php.h"
@@ -823,6 +823,25 @@
                }
        }
        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)



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to