From ed0ad921339c04ae57f48e31be8d4d925585285a Mon Sep 17 00:00:00 2001 From: Christophe Nowicki Date: Tue, 7 Sep 2004 15:09:00 +0000 Subject: [PATCH] ZVAL_STRING macro for PHP --- swig/Lasso.i | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/swig/Lasso.i b/swig/Lasso.i index 5d4c5522..5f12e070 100644 --- a/swig/Lasso.i +++ b/swig/Lasso.i @@ -94,6 +94,7 @@ } %} #else + #ifdef SWIGPYTHON %{ PyObject *lassoError; @@ -141,6 +142,25 @@ SyntaxError = _lasso.SyntaxError #endif +#if defined(SWIGPHP4) +%{ +/* ZVAL_STRING segfault when s is null */ +#undef ZVAL_STRING +#define ZVAL_STRING(z, s, duplicate) { \ + char *__s=(s); \ + if (__s) { \ + (z)->value.str.len = strlen(__s); \ + (z)->value.str.val = (duplicate?estrndup(__s, (z)->value.str.len):__s); \ + } else { \ + (z)->value.str.len = 0; \ + (z)->value.str.val = empty_string; \ + } \ + (z)->type = IS_STRING; \ + } +%} +#endif + + #define gint int #define guint unsigned int #define gchar char