fixes bug 288786 "Add BeginWriting equivalent to frozen string API" r=biesi sr=dbaron a=asa

git-svn-id: svn://10.0.0.236/trunk@172761 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
darin%meer.net
2005-04-27 01:38:35 +00:00
parent 76ed9d7ac3
commit 1af07ec016
7 changed files with 208 additions and 1 deletions

View File

@@ -122,6 +122,24 @@ NS_StringGetData(const nsAString &aStr, const PRUnichar **aData,
return begin.size_forward();
}
NS_STRINGAPI(PRUint32)
NS_StringGetMutableData(nsAString &aStr, PRUint32 aDataLength,
PRUnichar **aData)
{
if (aDataLength != PR_UINT32_MAX) {
aStr.SetLength(aDataLength);
if (aStr.Length() != aDataLength) {
*aData = nsnull;
return 0;
}
}
nsAString::iterator begin;
aStr.BeginWriting(begin);
*aData = begin.get();
return begin.size_forward();
}
NS_STRINGAPI(PRUnichar *)
NS_StringCloneData(const nsAString &aStr)
{
@@ -252,6 +270,23 @@ NS_CStringGetData(const nsACString &aStr, const char **aData,
return begin.size_forward();
}
NS_STRINGAPI(PRUint32)
NS_CStringGetMutableData(nsACString &aStr, PRUint32 aDataLength, char **aData)
{
if (aDataLength != PR_UINT32_MAX) {
aStr.SetLength(aDataLength);
if (aStr.Length() != aDataLength) {
*aData = nsnull;
return 0;
}
}
nsACString::iterator begin;
aStr.BeginWriting(begin);
*aData = begin.get();
return begin.size_forward();
}
NS_STRINGAPI(char *)
NS_CStringCloneData(const nsACString &aStr)
{