helly Mon Sep 1 19:32:30 2003 EDT
Modified files:
/php-src/main main.c
Log:
Error message clean up part II: Don't show params where none apply.
Index: php-src/main/main.c
diff -u php-src/main/main.c:1.572 php-src/main/main.c:1.573
--- php-src/main/main.c:1.572 Mon Sep 1 18:55:40 2003
+++ php-src/main/main.c Mon Sep 1 19:32:28 2003
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: main.c,v 1.572 2003/09/01 22:55:40 helly Exp $ */
+/* $Id: main.c,v 1.573 2003/09/01 23:32:28 helly Exp $ */
/* {{{ includes
*/
@@ -452,20 +452,28 @@
char *space;
char *class_name = get_active_class_name(&space TSRMLS_CC);
char *function = get_active_function_name(TSRMLS_C);
+ char *origin;
+ char *message;
- if (!function || !strlen(function)) {
- function = "Unknown";
- }
buffer_len = vspprintf(&buffer, 0, format, args);
+ if (buffer && PG(html_errors)) {
+ int len;
+ char *replace = php_escape_html_entities(buffer, buffer_len, &len, 0,
ENT_COMPAT, NULL TSRMLS_CC);
+ efree(buffer);
+ buffer = replace;
+ buffer_len = len;
+ }
+
if (buffer) {
- if (PG(html_errors)) {
- int len;
- char *replace = php_escape_html_entities(buffer, buffer_len,
&len, 0, ENT_COMPAT, NULL TSRMLS_CC);
- efree(buffer);
- buffer = replace;
- buffer_len = len;
+ if (!function || !strlen(function)) {
+ function = "Unknown";
+ spprintf(&origin, 0, "%s", function);
+ } else {
+ spprintf(&origin, 0, "%s%s%s(%s)", class_name, space,
function, params);
}
+ }
+ if (buffer && origin) {
if (docref && docref[0] == '#') {
docref_target = strchr(docref, '#');
docref = NULL;
@@ -509,18 +517,24 @@
}
if (!PG(html_errors) || !strlen(PG(docref_root))) {
/* no docref and no html errors -> do not point to any
documentation (e.g. production boxes) */
- php_error(type, "%s%s%s(%s): %s", class_name, space,
function, params, buffer);
+ spprintf(&message, 0, "%s: %s", origin, buffer);
} else if (PG(html_errors)) {
- php_error(type, "%s%s%s(%s) [<a href='%s%s%s'>%s</a>]:
%s", class_name, space, function, params, docref_root, docref, docref_target, docref,
buffer);
+ spprintf(&message, 0, "%s [<a href='%s%s%s'>%s</a>]:
%s", origin, docref_root, docref, docref_target, docref, buffer);
} else {
- php_error(type, "%s%s%s(%s) [%s%s%s]: %s", class_name,
space, function, params, docref_root, docref, docref_target, buffer);
+ spprintf(&message, 0, "%s [%s%s%s]: %s", origin,
docref_root, docref, docref_target, buffer);
}
if (target) {
efree(target);
}
} else {
- php_error(type, "%s%s%s(%s): %s ", class_name, space,
function, params, buffer);
+ spprintf(&message, 0, "%s: %s ", origin, buffer);
+ }
+ efree(buffer);
+ efree(origin);
+ if (docref_buf) {
+ efree(docref_buf);
}
+ php_error(type, "%s", message);
if (PG(track_errors) && EG(active_symbol_table)) {
zval *tmp;
@@ -531,11 +545,14 @@
Z_TYPE_P(tmp) = IS_STRING;
zend_hash_update(EG(active_symbol_table), "php_errormsg",
sizeof("php_errormsg"), (void **) & tmp, sizeof(pval *), NULL);
}
- efree(buffer);
- if (docref_buf) {
- efree(docref_buf);
- }
+ efree(message);
} else {
+ if (buffer) {
+ efree(buffer);
+ }
+ if (origin) {
+ efree(origin);
+ }
php_error(E_ERROR, "%s%s%s(%s): Out of memory", class_name, space,
function, params);
}
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php