From a1f983f63cfb9737cc2f182fe6fc6deff9b1ee75 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Fri, 10 Oct 2014 18:08:05 +0300 Subject: MAINT-4567 FIXED is not parsed correctly in viewer-lion --- indra/llcommon/lluriparser.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'indra/llcommon/lluriparser.cpp') diff --git a/indra/llcommon/lluriparser.cpp b/indra/llcommon/lluriparser.cpp index ef4481d32f..0fb004ef7e 100644 --- a/indra/llcommon/lluriparser.cpp +++ b/indra/llcommon/lluriparser.cpp @@ -175,11 +175,18 @@ S32 LLUriParser::normalize() if (!mRes) { mNormalizedUri = &label_buf[mTmpScheme ? 7 : 0]; + mTmpScheme = false; } } } } + if(mTmpScheme) + { + mNormalizedUri = mNormalizedUri.substr(7); + mTmpScheme = false; + } + return mRes; } -- cgit v1.2.3 From 2b8827a55f6a935bac8abb7513be1c00659f6ab1 Mon Sep 17 00:00:00 2001 From: maksymsproductengine Date: Mon, 13 Oct 2014 19:14:42 +0300 Subject: MAINT-4169 FIXED Suppress initial display of the path portion of URLs from other users and scripts --- indra/llcommon/lluriparser.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'indra/llcommon/lluriparser.cpp') diff --git a/indra/llcommon/lluriparser.cpp b/indra/llcommon/lluriparser.cpp index 0fb004ef7e..d07288f123 100644 --- a/indra/llcommon/lluriparser.cpp +++ b/indra/llcommon/lluriparser.cpp @@ -191,20 +191,42 @@ S32 LLUriParser::normalize() } void LLUriParser::glue(std::string& uri) const +{ + std::string first_part; + glueFirst(first_part); + + std::string second_part; + glueSecond(second_part); + + uri = first_part + second_part; +} + +void LLUriParser::glueFirst(std::string& uri) const { if (mScheme.size()) { uri = mScheme; uri += "://"; } + else + { + uri.clear(); + } uri += mHost; +} +void LLUriParser::glueSecond(std::string& uri) const +{ if (mPort.size()) { - uri += ':'; + uri = ':'; uri += mPort; } + else + { + uri.clear(); + } uri += mPath; -- cgit v1.2.3 From 18bacca5ca066c6fb1b38a82e322b624923b7340 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Tue, 24 Mar 2015 18:30:40 +0200 Subject: MAINT-5023 URIparser crash in LLUrlEntryBase::urlToLabelWithGreyQuery --- indra/llcommon/lluriparser.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'indra/llcommon/lluriparser.cpp') diff --git a/indra/llcommon/lluriparser.cpp b/indra/llcommon/lluriparser.cpp index d07288f123..08b19c56e0 100644 --- a/indra/llcommon/lluriparser.cpp +++ b/indra/llcommon/lluriparser.cpp @@ -118,6 +118,12 @@ void LLUriParser::fragment(const std::string& s) void LLUriParser::textRangeToString(UriTextRangeA& textRange, std::string& str) { + if(&textRange == NULL) + { + LL_WARNS() << "textRange is NULL for uri: " << mNormalizedUri << LL_ENDL; + return; + } + S32 len = textRange.afterLast - textRange.first; if (len) { @@ -128,6 +134,12 @@ void LLUriParser::textRangeToString(UriTextRangeA& textRange, std::string& str) void LLUriParser::extractParts() { + if(&mUri == NULL) + { + LL_WARNS() << "mUri is NULL for uri: " << mNormalizedUri << LL_ENDL; + return; + } + if (mTmpScheme) { mScheme.clear(); -- cgit v1.2.3 From b10940e8e38db7c7fc4adbd73ad8a56dec2b58f3 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Fri, 27 Mar 2015 11:23:58 +0200 Subject: MAINT-5019 FIXED Undesired http:// added to domains sent in chat --- indra/llcommon/lluriparser.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/llcommon/lluriparser.cpp') diff --git a/indra/llcommon/lluriparser.cpp b/indra/llcommon/lluriparser.cpp index 08b19c56e0..e24e53426e 100644 --- a/indra/llcommon/lluriparser.cpp +++ b/indra/llcommon/lluriparser.cpp @@ -29,7 +29,7 @@ #include "linden_common.h" #include "lluriparser.h" -LLUriParser::LLUriParser(const std::string& u) : mTmpScheme(false), mRes(0) +LLUriParser::LLUriParser(const std::string& u) : mTmpScheme(false), mNormalizedTmp(false), mRes(0) { mState.uri = &mUri; @@ -140,7 +140,7 @@ void LLUriParser::extractParts() return; } - if (mTmpScheme) + if (mTmpScheme || mNormalizedTmp) { mScheme.clear(); } @@ -169,6 +169,7 @@ void LLUriParser::extractParts() S32 LLUriParser::normalize() { + mNormalizedTmp = mTmpScheme; if (!mRes) { mRes = uriNormalizeSyntaxExA(&mUri, URI_NORMALIZE_SCHEME | URI_NORMALIZE_HOST); -- cgit v1.2.3 From e03f1521c82545a49b289d624c8b26be3d1fb3d6 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Thu, 2 Apr 2015 11:50:17 +0300 Subject: MAINT-5023 URIparser crash in LLUrlEntryBase::urlToLabelWithGreyQuery --- indra/llcommon/lluriparser.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'indra/llcommon/lluriparser.cpp') diff --git a/indra/llcommon/lluriparser.cpp b/indra/llcommon/lluriparser.cpp index e24e53426e..8c456ee879 100644 --- a/indra/llcommon/lluriparser.cpp +++ b/indra/llcommon/lluriparser.cpp @@ -124,6 +124,18 @@ void LLUriParser::textRangeToString(UriTextRangeA& textRange, std::string& str) return; } + if(textRange.first == NULL) + { + LL_WARNS() << "textRange.first is NULL for uri: " << mNormalizedUri << LL_ENDL; + return; + } + + if(textRange.afterLast == NULL) + { + LL_WARNS() << "textRange.afterLast is NULL for uri: " << mNormalizedUri << LL_ENDL; + return; + } + S32 len = textRange.afterLast - textRange.first; if (len) { -- cgit v1.2.3 From dbb304ab2032153bbd2e5bdd589f6ed72d70a0a1 Mon Sep 17 00:00:00 2001 From: MNikolenko ProductEngine Date: Tue, 7 Apr 2015 20:58:48 +0300 Subject: MAINT-5023 FIXED URIparser crash in LLUrlEntryBase::urlToLabelWithGreyQuery --- indra/llcommon/lluriparser.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'indra/llcommon/lluriparser.cpp') diff --git a/indra/llcommon/lluriparser.cpp b/indra/llcommon/lluriparser.cpp index 8c456ee879..8270c630d8 100644 --- a/indra/llcommon/lluriparser.cpp +++ b/indra/llcommon/lluriparser.cpp @@ -118,29 +118,27 @@ void LLUriParser::fragment(const std::string& s) void LLUriParser::textRangeToString(UriTextRangeA& textRange, std::string& str) { + str = ""; + if(&textRange == NULL) { - LL_WARNS() << "textRange is NULL for uri: " << mNormalizedUri << LL_ENDL; return; } if(textRange.first == NULL) { - LL_WARNS() << "textRange.first is NULL for uri: " << mNormalizedUri << LL_ENDL; return; } if(textRange.afterLast == NULL) { - LL_WARNS() << "textRange.afterLast is NULL for uri: " << mNormalizedUri << LL_ENDL; return; } S32 len = textRange.afterLast - textRange.first; if (len) { - str = textRange.first; - str = str.substr(0, len); + str.assign(textRange.first, len); } } -- cgit v1.2.3 From bef5a95cafdf6e20a243f4091b4fbcf426fb529b Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 14 Apr 2015 05:00:58 -0400 Subject: minimal changes to compile on Xcode 6.2 --- indra/llcommon/lluriparser.cpp | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) (limited to 'indra/llcommon/lluriparser.cpp') diff --git a/indra/llcommon/lluriparser.cpp b/indra/llcommon/lluriparser.cpp index 8270c630d8..d98bc297e5 100644 --- a/indra/llcommon/lluriparser.cpp +++ b/indra/llcommon/lluriparser.cpp @@ -118,38 +118,19 @@ void LLUriParser::fragment(const std::string& s) void LLUriParser::textRangeToString(UriTextRangeA& textRange, std::string& str) { - str = ""; - - if(&textRange == NULL) - { - return; - } - - if(textRange.first == NULL) - { - return; - } - - if(textRange.afterLast == NULL) + if (textRange.first != NULL && textRange.afterLast != NULL && textRange.first < textRange.afterLast) { - return; + const ptrdiff_t len = textRange.afterLast - textRange.first; + str.assign(textRange.first, static_cast(len)); } - - S32 len = textRange.afterLast - textRange.first; - if (len) + else { - str.assign(textRange.first, len); + str = LLStringUtil::null; } } void LLUriParser::extractParts() { - if(&mUri == NULL) - { - LL_WARNS() << "mUri is NULL for uri: " << mNormalizedUri << LL_ENDL; - return; - } - if (mTmpScheme || mNormalizedTmp) { mScheme.clear(); -- cgit v1.2.3