com gtk/php-gtk: Check for successful conversion from UTF-8 for return values.: generator/arg_types.php

[email protected] (David Soria Parra) Thu, 09 Feb 2006 08:47:11 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    7028728a263e4ddacf8f80000761a15054683bcc
Author:    Andrei Zmievski <[email protected]>         Thu, 9 Feb 2006 08:47:11 +0000
Parents:   cc3967a75d0610f780ec9f3410021868fcd19a7d
Branches:  master

Link:       http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=7028728a263e4ddacf8f80000761a15054683bcc

Log:
Check for successful conversion from UTF-8 for return values.

Changed paths:
  M  generator/arg_types.php


Diff:
7028728a263e4ddacf8f80000761a15054683bcc
diff --git a/generator/arg_types.php b/generator/arg_types.php
index 620be59..db6b309 100644
--- a/generator/arg_types.php
+++ b/generator/arg_types.php
@@ -179,7 +179,11 @@ class String_Arg extends Arg_Type {
             $info->post_code[] = 
                    "    if (php_retval) {\n"                        .
                    "        cp_ret = phpg_from_utf8(php_retval, strlen(php_retval), &cp_len, &free_result TSRMLS_CC);\n" .
-                   "        RETVAL_STRINGL((char *)cp_ret, cp_len, 1);\n"    .
+                   "        if (cp_ret) {\n"                        .
+                   "            RETVAL_STRINGL((char *)cp_ret, cp_len, 1);\n"    .
+                   "        } else {\n"                             .
+                   "            php_error(E_WARNING, \"%s::%s(): could not convert return value from UTF-8\", get_active_class_name(NULL TSRMLS_CC), get_active_function_name(TSRMLS_C));\n" .
+                   "        }\n"                                    .
                    "        g_free(php_retval);\n"                  .
                    "        if (free_result)\n"                     .
                    "            g_free(cp_ret);\n"                  .
@@ -193,7 +197,11 @@ class String_Arg extends Arg_Type {
             $info->post_code[] = 
                    "    if (php_retval) {\n"                           .
                    "        cp_ret = phpg_from_utf8(php_retval, strlen(php_retval), &cp_len, &free_result TSRMLS_CC);\n" .
-                   "        RETVAL_STRINGL((char *)cp_ret, cp_len, 1);\n"       .
+                   "        if (cp_ret) {\n"                        .
+                   "            RETVAL_STRINGL((char *)cp_ret, cp_len, 1);\n"    .
+                   "        } else {\n"                             .
+                   "            php_error(E_WARNING, \"%s::%s(): could not convert return value from UTF-8\", get_active_class_name(NULL TSRMLS_CC), get_active_function_name(TSRMLS_C));\n" .
+                   "        }\n"                                    .
                    "        if (free_result)\n"                        .
                    "            g_free(cp_ret);\n"                     .
                    "    } else {\n"                                    .