scottmac Thu Nov 27 19:45:16 2008 UTC
Modified files:
/php-src configure.in
/php-src/ext/fileinfo/libmagic print.c
/php-src/main snprintf.c snprintf.h
Log:
Add asprintf, use regular system malloc and free and add checks in
configure.in for the functions
http://cvs.php.net/viewvc.cgi/php-src/configure.in?r1=1.666&r2=1.667&diff_format=u
Index: php-src/configure.in
diff -u php-src/configure.in:1.666 php-src/configure.in:1.667
--- php-src/configure.in:1.666 Mon Nov 17 15:12:33 2008
+++ php-src/configure.in Thu Nov 27 19:45:16 2008
@@ -1,4 +1,4 @@
-## $Id: configure.in,v 1.666 2008/11/17 15:12:33 dsp Exp $ -*- autoconf -*-
+## $Id: configure.in,v 1.667 2008/11/27 19:45:16 scottmac Exp $ -*- autoconf
-*-
dnl ## Process this file with autoconf to produce a configure script.
divert(1)
@@ -637,6 +637,8 @@
nanosleep \
utime \
vsnprintf \
+vasprintf \
+asprintf \
)
dnl Check for getaddrinfo, should be a better way, but...
http://cvs.php.net/viewvc.cgi/php-src/ext/fileinfo/libmagic/print.c?r1=1.5&r2=1.6&diff_format=u
Index: php-src/ext/fileinfo/libmagic/print.c
diff -u php-src/ext/fileinfo/libmagic/print.c:1.5
php-src/ext/fileinfo/libmagic/print.c:1.6
--- php-src/ext/fileinfo/libmagic/print.c:1.5 Sat Nov 22 10:27:19 2008
+++ php-src/ext/fileinfo/libmagic/print.c Thu Nov 27 19:45:16 2008
@@ -62,7 +62,7 @@
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Warning: %s",
expanded_format);
- efree(expanded_format);
+ free(expanded_format);
}
protected const char *
http://cvs.php.net/viewvc.cgi/php-src/main/snprintf.c?r1=1.65&r2=1.66&diff_format=u
Index: php-src/main/snprintf.c
diff -u php-src/main/snprintf.c:1.65 php-src/main/snprintf.c:1.66
--- php-src/main/snprintf.c:1.65 Fri Nov 21 21:49:52 2008
+++ php-src/main/snprintf.c Thu Nov 27 19:45:16 2008
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: snprintf.c,v 1.65 2008/11/21 21:49:52 scottmac Exp $ */
+/* $Id: snprintf.c,v 1.66 2008/11/27 19:45:16 scottmac Exp $ */
#include "php.h"
@@ -1327,9 +1327,9 @@
*buf = NULL;
if (cc >= 0) {
- if ((*buf = emalloc(++cc)) != NULL) {
+ if ((*buf = malloc(++cc)) != NULL) {
if ((cc = ap_php_vsnprintf(*buf, cc, format, ap)) < 0) {
- efree(*buf);
+ free(*buf);
*buf = NULL;
}
}
@@ -1339,6 +1339,18 @@
}
/* }}} */
+PHPAPI int ap_php_asprintf(char **buf, const char *format, ...) /* {{{ */
+{
+ int cc;
+ va_list ap;
+
+ va_start(ap, format);
+ cc = vasprintf(buf, format, ap);
+ va_end(ap);
+ return cc;
+}
+/* }}} */
+
/*
* Local variables:
* tab-width: 4
http://cvs.php.net/viewvc.cgi/php-src/main/snprintf.h?r1=1.43&r2=1.44&diff_format=u
Index: php-src/main/snprintf.h
diff -u php-src/main/snprintf.h:1.43 php-src/main/snprintf.h:1.44
--- php-src/main/snprintf.h:1.43 Fri Nov 21 21:49:52 2008
+++ php-src/main/snprintf.h Thu Nov 27 19:45:16 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: snprintf.h,v 1.43 2008/11/21 21:49:52 scottmac Exp $ */
+/* $Id: snprintf.h,v 1.44 2008/11/27 19:45:16 scottmac Exp $ */
/*
@@ -83,6 +83,7 @@
PHPAPI int ap_php_snprintf(char *, size_t, const char *, ...);
PHPAPI int ap_php_vsnprintf(char *, size_t, const char *, va_list ap);
PHPAPI int ap_php_vasprintf(char **buf, const char *format, va_list ap);
+PHPAPI int ap_php_asprintf(char **buf, const char *format, ...);
PHPAPI int php_sprintf (char* s, const char* format, ...)
PHP_ATTRIBUTE_FORMAT(printf, 2, 3);
PHPAPI char * php_gcvt(double value, int ndigit, char dec_point, char
exponent, char *buf);
PHPAPI char * php_conv_fp(register char format, register double num,
@@ -110,10 +111,13 @@
#endif
#define vsnprintf ap_php_vsnprintf
-#ifdef vasprintf
-#undef vasprintf
-#endif
+#ifndef HAVE_VASPRINTF
#define vasprintf ap_php_vasprintf
+#endif
+
+#ifndef HAVE_ASPRINTF
+#define asprintf ap_php_asprintf
+#endif
#ifdef sprintf
#undef sprintf
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php