зеркало из https://github.com/mozilla/pjs.git
fixes to x400 parsing
This commit is contained in:
Родитель
0f218db562
Коммит
1af7f64344
|
@ -95,6 +95,12 @@ private:
|
|||
*/
|
||||
nsresult DestroyEntry(PRInt32 aIndex);
|
||||
|
||||
/**
|
||||
* Destroy all key/value pairs
|
||||
* @return NS_OK on success
|
||||
*/
|
||||
nsresult DestroyAllEntries();
|
||||
|
||||
/**
|
||||
* @return the current number of key/value pairs.
|
||||
*/
|
||||
|
@ -126,6 +132,13 @@ public:
|
|||
*/
|
||||
nsresult GetValue(char** aStr);
|
||||
|
||||
/**
|
||||
* Get the newly assembled string
|
||||
* @param aStr reference to the string object.
|
||||
* @return NS_OK on success
|
||||
*/
|
||||
nsresult GetValue(JulianString& aStr);
|
||||
|
||||
/**
|
||||
* Set the supplied key to have the supplied value. Add the key
|
||||
* and value pair if they do not yet exist. Update the value
|
||||
|
|
|
@ -64,10 +64,14 @@ nsX400Parser::nsX400Parser(const char* psValue)
|
|||
|
||||
nsX400Parser::~nsX400Parser()
|
||||
{
|
||||
DestroyAllEntries();
|
||||
if (mppKeys)
|
||||
{
|
||||
delete [] mppKeys;
|
||||
}
|
||||
|
||||
if (mppVals)
|
||||
delete [] mppVals;
|
||||
if (mppKeys)
|
||||
delete [] mppKeys;
|
||||
}
|
||||
|
||||
nsresult nsX400Parser::Init()
|
||||
|
@ -92,6 +96,13 @@ nsresult nsX400Parser::GetValue(char** aStr)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsX400Parser::GetValue(JulianString& aStr)
|
||||
{
|
||||
Assemble();
|
||||
aStr = msValue;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsX400Parser::EnsureSize(PRInt32 aSize)
|
||||
{
|
||||
if (aSize > miSize)
|
||||
|
@ -239,6 +250,19 @@ nsresult nsX400Parser::DestroyEntry(PRInt32 i)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsX400Parser::DestroyAllEntries()
|
||||
{
|
||||
/*
|
||||
* delete anything in the old arrays...
|
||||
*/
|
||||
if (0 != mppKeys && 0 != mppVals)
|
||||
{
|
||||
for (size_t i = 0; i < (size_t)miLength; i++)
|
||||
DestroyEntry((PRInt32)i);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete an entry.
|
||||
*/
|
||||
|
@ -302,11 +326,7 @@ nsresult nsX400Parser::Parse()
|
|||
/*
|
||||
* delete anything in the old arrays...
|
||||
*/
|
||||
if (0 != mppKeys)
|
||||
{
|
||||
for (i = 0; i < (size_t)miLength; i++)
|
||||
DestroyEntry((PRInt32)i);
|
||||
}
|
||||
DestroyAllEntries();
|
||||
|
||||
/*
|
||||
* Parse off parts until done...
|
||||
|
|
Загрузка…
Ссылка в новой задаче