From 982a441111bd6105dbcc86a309ba836bd6aee2e3 Mon Sep 17 00:00:00 2001 From: "badami%netscape.com" Date: Tue, 12 Mar 2002 04:07:14 +0000 Subject: [PATCH] image not loaded if SRC URL has a leading SPACE character. bug 117410 r=bbaetz sr=darin a=asa --- netwerk/base/src/nsStandardURL.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/netwerk/base/src/nsStandardURL.cpp b/netwerk/base/src/nsStandardURL.cpp index 4c2a47d0213d..183b330bd9e9 100644 --- a/netwerk/base/src/nsStandardURL.cpp +++ b/netwerk/base/src/nsStandardURL.cpp @@ -125,6 +125,14 @@ FilterString(const char *str, nsCString &result) PRBool writing = PR_FALSE; result.Truncate(); const char *p = str; + + // Remove leading spaces, tabs, CR, LF if any. + while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n') { + writing = PR_TRUE; + str = p + 1; + p++; + } + for (; *p; ++p) { if (*p == '\t' || *p == '\r' || *p == '\n') { writing = PR_TRUE; @@ -134,8 +142,16 @@ FilterString(const char *str, nsCString &result) str = p + 1; } } + + // Remove trailing spaces if any + while (((p-1) >= str) && (*(p-1) == ' ')) { + writing = PR_TRUE; + p--; + } + if (writing && p > str) result.Append(str, p - str); + return writing ? result.get() : str; } @@ -994,6 +1010,9 @@ nsStandardURL::SetSpec(const nsACString &input) Clear(); + if (!spec) + return NS_OK; + // filter out unexpected chars "\r\n\t" if necessary nsCAutoString buf1; spec = FilterString(spec, buf1);