sas             Thu Aug 28 11:52:16 2003 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/main       php.h 
  Log:
  add PHP_ATTRIBUTE_FORMAT to more functions
  
  # uncovers a nice number of incorrect format strings
  
  
Index: php-src/main/php.h
diff -u php-src/main/php.h:1.178.2.6 php-src/main/php.h:1.178.2.7
--- php-src/main/php.h:1.178.2.6        Thu Aug 28 10:48:34 2003
+++ php-src/main/php.h  Thu Aug 28 11:52:15 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php.h,v 1.178.2.6 2003/08/28 14:48:34 sas Exp $ */
+/* $Id: php.h,v 1.178.2.7 2003/08/28 15:52:15 sas Exp $ */
 
 #ifndef PHP_H
 #define PHP_H
@@ -222,12 +222,7 @@
 
 #define PHP_GCC_VERSION ZEND_GCC_VERSION
 #define PHP_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_MALLOC
-
-#if PHP_GCC_VERSION >= 2007
-# define PHP_ATTRIBUTE_FORMAT(type, idx, first) __attribute__ ((format(type, idx, 
first)))
-#else
-# define PHP_ATTRIBUTE_FORMAT(type, idx, first)
-#endif
+#define PHP_ATTRIBUTE_FORMAT ZEND_ATTRIBUTE_FORMAT
 
 #if !defined(HAVE_SNPRINTF) || !defined(HAVE_VSNPRINTF) || PHP_BROKEN_SPRINTF || 
PHP_BROKEN_SNPRINTF || PHP_BROKEN_VSNPRINTF
 #include "snprintf.h"
@@ -278,19 +273,28 @@
 
 void phperror(char *error);
 PHPAPI int php_write(void *buf, uint size TSRMLS_DC);
-PHPAPI int php_printf(const char *format, ...);
+PHPAPI int php_printf(const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 1, 2);
 PHPAPI void php_log_err(char *log_message TSRMLS_DC);
-int Debug(char *format, ...);
+int Debug(char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 1, 2);
 int cfgparse(void);
 
 #define php_error zend_error
 
-PHPAPI void php_verror(const char *docref, const char *params, int type, const char 
*format, va_list args TSRMLS_DC) ;
+PHPAPI void php_verror(const char *docref, const char *params, int type, const char 
*format, va_list args TSRMLS_DC) PHP_ATTRIBUTE_FORMAT(printf, 4, 0);
+
+#ifdef ZTS
+#define PHP_ATTR_FMT_OFFSET 1
+#else
+#define PHP_ATTR_FMT_OFFSET 0
+#endif
 
 /* PHPAPI void php_error(int type, const char *format, ...); */
-PHPAPI void php_error_docref0(const char *docref TSRMLS_DC, int type, const char 
*format, ...);
-PHPAPI void php_error_docref1(const char *docref TSRMLS_DC, const char *param1, int 
type, const char *format, ...);
-PHPAPI void php_error_docref2(const char *docref TSRMLS_DC, const char *param1, const 
char *param2, int type, const char *format, ...);
+PHPAPI void php_error_docref0(const char *docref TSRMLS_DC, int type, const char 
*format, ...) 
+       PHP_ATTRIBUTE_FORMAT(printf, PHP_ATTR_FMT_OFFSET + 3, PHP_ATTR_FMT_OFFSET + 4);
+PHPAPI void php_error_docref1(const char *docref TSRMLS_DC, const char *param1, int 
type, const char *format, ...) 
+       PHP_ATTRIBUTE_FORMAT(printf, PHP_ATTR_FMT_OFFSET + 4, PHP_ATTR_FMT_OFFSET + 5);
+PHPAPI void php_error_docref2(const char *docref TSRMLS_DC, const char *param1, const 
char *param2, int type, const char *format, ...) 
+       PHP_ATTRIBUTE_FORMAT(printf, PHP_ATTR_FMT_OFFSET + 5, PHP_ATTR_FMT_OFFSET + 6);
 
 #define php_error_docref php_error_docref0
 

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

Reply via email to