From 0b40c1d82b1c194f0463bb83fee9a15c8661f840 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Wed, 28 Jul 2004 00:51:48 +0000 Subject: [PATCH] - Trim error messages --- ext/pdo_pgsql/pgsql_driver.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 3bb1fe0435..f6c08cf863 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -33,6 +33,20 @@ #include "php_pdo_pgsql_int.h" #include "zend_exceptions.h" +static char * _pdo_pgsql_trim_message(const char *message) +{ + register int i = strlen(message)-1; + + if (i>1 && (message[i-1] == '\r' || message[i-1] == '\n') && message[i] == '.') { + --i; + } + while (i>0 && (message[i] == '\r' || message[i] == '\n')) { + --i; + } + ++i; + return estrndup(message, i); +} + int _pdo_pgsql_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, int errcode, const char *file, int line TSRMLS_DC) /* {{{ */ { pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; @@ -60,7 +74,7 @@ int _pdo_pgsql_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, int errcode, const char * } if (errmsg) { - einfo->errmsg = estrdup(errmsg); + einfo->errmsg = _pdo_pgsql_trim_message(errmsg); } if (!dbh->methods) { -- 2.50.1