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