diff options
| author | Marcus Boerger <helly@php.net> | 2003-12-12 07:59:46 +0000 |
|---|---|---|
| committer | Marcus Boerger <helly@php.net> | 2003-12-12 07:59:46 +0000 |
| commit | 2c7c86bc60443b7b14a7f1d284ffc8d35b294790 (patch) | |
| tree | 0568aabec910b729225dadc2a0e534902c7fc2d0 | |
| parent | fc5c73897dab1c69d7e8bc9122055ecdf2fbb4c7 (diff) | |
| download | php-git-2c7c86bc60443b7b14a7f1d284ffc8d35b294790.tar.gz | |
Add some comments here
| -rw-r--r-- | main/main.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/main/main.c b/main/main.c index f27cb515d7..eb78f73c76 100644 --- a/main/main.c +++ b/main/main.c @@ -467,7 +467,7 @@ static char *get_active_class_name(char **space TSRMLS_DC) */ PHPAPI void php_verror(const char *docref, const char *params, int type, const char *format, va_list args TSRMLS_DC) { - char *buffer = NULL, *docref_buf = NULL, *ref = NULL, *target = NULL; + char *buffer = NULL, *docref_buf = NULL, *target = NULL; char *docref_target = "", *docref_root = ""; char *p; int buffer_len = 0; @@ -514,6 +514,8 @@ PHPAPI void php_verror(const char *docref, const char *params, int type, const c docref_target = strchr(docref, '#'); docref = NULL; } + + /* no docref given but function is known (the default) */ if (!docref && is_function) { spprintf(&docref_buf, 0, "function.%s", function); while((p = strchr(docref_buf, '_')) != NULL) { @@ -521,16 +523,25 @@ PHPAPI void php_verror(const char *docref, const char *params, int type, const c } docref = docref_buf; } + + /* we have a docref for a function AND + * - we show erroes in html mode OR + * - the user wants to see the links anyway + */ if (docref && is_function && (PG(html_errors) || strlen(PG(docref_root)))) { if (strncmp(docref, "http://", 7)) { + /* We don't have 'http://' so we use docref_root */ + + char *ref; /* temp copy for duplicated docref */ + docref_root = PG(docref_root); - /* now check copy of extension */ + ref = estrdup(docref); if (docref_buf) { efree(docref_buf); } docref_buf = ref; - docref = docref_buf; + /* strip of the target if any */ p = strrchr(ref, '#'); if (p) { target = estrdup(p); @@ -539,12 +550,14 @@ PHPAPI void php_verror(const char *docref, const char *params, int type, const c *p = '\0'; } } - if ((!p || target) && PG(docref_ext) && strlen(PG(docref_ext))) { + /* add the extension if it is set in ini */ + if (PG(docref_ext) && strlen(PG(docref_ext))) { spprintf(&docref_buf, 0, "%s%s", ref, PG(docref_ext)); efree(ref); - docref = docref_buf; } + docref = docref_buf; } + /* display html formatted or only show the additional links */ if (PG(html_errors)) { spprintf(&message, 0, "%s [<a href='%s%s%s'>%s</a>]: %s", origin, docref_root, docref, docref_target, docref, buffer); } else { |
