Fixed array parser compatibility with arrays of boxes
[m6w6/ext-pq] / src / php_pq_misc.h
index 3ce172d666d20083e08f79facd6e60409f9f0ed6..9fc086a21c40add13532f0ea881bd869ac32ff8c 100644 (file)
 
 #include <libpq-fe.h>
 
-typedef int STATUS; /* SUCCESS/FAILURE */
+#if PHP_VERSION_ID < 50500
+#undef SUCCESS
+#undef FAILURE
+typedef enum {
+       SUCCESS = 0,
+       FAILURE = -1
+} ZEND_RESULT_CODE;
+#endif
+
+#include "php_pqres.h"
+
+/* TSRM morony */
+#if PHP_VERSION_ID >= 50700
+#      define z_is_true(z) zend_is_true(z TSRMLS_CC)
+#else
+#      define z_is_true zend_is_true
+#endif
 
 /* trim LF from EOL */
-char *rtrim(char *e);
+extern char *php_pq_rtrim(char *e);
 
 /* R, W, RW */
-const char *strmode(long mode);
+extern const char *php_pq_strmode(long mode);
 
 /* compare array index */
-int compare_index(const void *lptr, const void *rptr TSRMLS_DC);
+extern int php_pq_compare_index(const void *lptr, const void *rptr TSRMLS_DC);
+
+#define PHP_PQerrorMessage(c) php_pq_rtrim(PQerrorMessage((c)))
+#define PHP_PQresultErrorMessage(r) php_pq_rtrim(PQresultErrorMessage((r)))
+
+extern zend_class_entry *php_pqdt_class_entry;
+extern zval *php_pqdt_from_string(zval *zv, char *input_fmt, char *dt_str, size_t dt_len, char *output_fmt, zval *ztimezone TSRMLS_DC);
+extern void php_pqdt_to_string(zval *zdt, const char *format, char **str_buf, size_t *str_len TSRMLS_DC);
+
+extern zend_class_entry *php_pqconv_class_entry;
 
-#define PHP_PQerrorMessage(c) rtrim(PQerrorMessage((c)))
-#define PHP_PQresultErrorMessage(r) rtrim(PQresultErrorMessage((r)))
+extern HashTable *php_pq_parse_array(php_pqres_t *res, const char *val_str, size_t val_len, Oid typ TSRMLS_DC);
 
-int php_pq_types_to_array(HashTable *ht, Oid **types TSRMLS_DC);
-int php_pq_params_to_array(HashTable *ht, char ***params, HashTable *zdtor TSRMLS_DC);
 
-zval *php_pq_date_from_string(char *datetime_str, size_t datetime_len, zval *zv TSRMLS_DC);
+extern PHP_MINIT_FUNCTION(pq_misc);
 
 #endif