summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Pchelko <pchelko@productengine.com>2010-06-08 18:58:26 +0300
committerVladimir Pchelko <pchelko@productengine.com>2010-06-08 18:58:26 +0300
commit045af3acc747b43a0bbc7d1848e6a1a63f932c39 (patch)
tree49905618db8842fb1ac68a36b26b813b0b36e924
parentd17b616b1c94c136254de0bee039cdc87979b44e (diff)
parentd0dd18a9087d107fd2feec17f554bef4be81c1d5 (diff)
merge
--HG-- branch : product-engine
-rw-r--r--indra/llinventory/llinventory.cpp27
-rw-r--r--indra/llinventory/llinventory.h6
2 files changed, 18 insertions, 15 deletions
diff --git a/indra/llinventory/llinventory.cpp b/indra/llinventory/llinventory.cpp
index 2c767a4857..53830b1a14 100644
--- a/indra/llinventory/llinventory.cpp
+++ b/indra/llinventory/llinventory.cpp
@@ -85,10 +85,7 @@ LLInventoryObject::LLInventoryObject(const LLUUID& uuid,
mType(type),
mName(name)
{
- LLStringUtil::replaceNonstandardASCII(mName, ' ');
- LLStringUtil::replaceChar(mName, '|', ' ');
- LLStringUtil::trim(mName);
- LLStringUtil::truncate(mName, DB_INV_ITEM_NAME_STR_LEN);
+ correctInventoryName(mName);
}
LLInventoryObject::LLInventoryObject() :
@@ -155,12 +152,8 @@ void LLInventoryObject::setUUID(const LLUUID& new_uuid)
void LLInventoryObject::rename(const std::string& n)
{
std::string new_name(n);
- LLStringUtil::replaceNonstandardASCII(new_name, ' ');
- LLStringUtil::replaceChar(new_name, '|', ' ');
- LLStringUtil::trim(new_name);
- LLStringUtil::truncate(new_name, DB_INV_ITEM_NAME_STR_LEN);
-
- if( new_name != mName )
+ correctInventoryName(new_name);
+ if( !new_name.empty() && new_name != mName )
{
mName = new_name;
}
@@ -221,10 +214,7 @@ BOOL LLInventoryObject::importLegacyStream(std::istream& input_stream)
" %254s %254[^|]",
keyword, valuestr);
mName.assign(valuestr);
- LLStringUtil::replaceNonstandardASCII(mName, ' ');
- LLStringUtil::replaceChar(mName, '|', ' ');
- LLStringUtil::trim(mName);
- LLStringUtil::truncate(mName, DB_INV_ITEM_NAME_STR_LEN);
+ correctInventoryName(mName);
}
else
{
@@ -284,6 +274,15 @@ void LLInventoryObject::updateServer(BOOL) const
llwarns << "LLInventoryObject::updateServer() called. Doesn't do anything." << llendl;
}
+inline
+void LLInventoryObject::correctInventoryName(std::string& name)
+{
+ LLStringUtil::replaceNonstandardASCII(name, ' ');
+ LLStringUtil::replaceChar(name, '|', ' ');
+ LLStringUtil::trim(name);
+ LLStringUtil::truncate(name, DB_INV_ITEM_NAME_STR_LEN);
+}
+
///----------------------------------------------------------------------------
/// Class LLInventoryItem
diff --git a/indra/llinventory/llinventory.h b/indra/llinventory/llinventory.h
index b083e305b1..4c6ac83ab8 100644
--- a/indra/llinventory/llinventory.h
+++ b/indra/llinventory/llinventory.h
@@ -92,9 +92,13 @@ public:
void setParent(const LLUUID& new_parent);
void setType(LLAssetType::EType type);
+private:
+ // in place correction for inventory name string
+ void correctInventoryName(std::string& name);
+
//--------------------------------------------------------------------
// File Support
- // Implemented here so that a minimal information set can be transmitted
+ // Implemented here so that a minimal information set can be transmitted
// between simulator and viewer.
//--------------------------------------------------------------------
public: