]> granicus.if.org Git - php/commitdiff
cleanuo (use zend_string instead of char*)
authorDmitry Stogov <dmitry@zend.com>
Wed, 13 Aug 2014 18:26:07 +0000 (22:26 +0400)
committerDmitry Stogov <dmitry@zend.com>
Wed, 13 Aug 2014 18:26:07 +0000 (22:26 +0400)
ext/pdo_odbc/odbc_driver.c

index e620227a221ab85df6b1f2e22d40c5fca9a36664..2828b96e8159f18abff56ddbff7a3839799d5ea0 100644 (file)
@@ -36,22 +36,20 @@ static int pdo_odbc_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt, zval *inf
        pdo_odbc_db_handle *H = (pdo_odbc_db_handle *)dbh->driver_data;
        pdo_odbc_errinfo *einfo = &H->einfo;
        pdo_odbc_stmt *S = NULL;
-       char *message = NULL;
+       zend_string *message = NULL;
 
        if (stmt) {
                S = (pdo_odbc_stmt*)stmt->driver_data;
                einfo = &S->einfo;
        }
 
-       spprintf(&message, 0, "%s (%s[%ld] at %s:%d)",
+       message = strpprintf(0, "%s (%s[%ld] at %s:%d)",
                                einfo->last_err_msg,
                                einfo->what, einfo->last_error,
                                einfo->file, einfo->line);
 
        add_next_index_long(info, einfo->last_error);
-       // TODO: avoid reallocation ???
-       add_next_index_string(info, message);
-       efree(message);
+       add_next_index_str(info, message);
        add_next_index_string(info, einfo->last_state);
 
        return 1;