Bug 243904 SOAP code problem with null, unpositioned array item

patch by chantepie@altern.org r=doron sr=jst a=asa
This commit is contained in:
timeless%mozdev.org 2005-05-02 19:42:26 +00:00
parent fae17d77b9
commit cd198e6b42
4 changed files with 1535 additions and 1322 deletions

File diff suppressed because it is too large Load Diff

View File

@ -84,6 +84,7 @@ nsSOAPStrings::nsSOAPStrings()
, NS_LITERAL_STRING_INIT(kEmpty, "")
, NS_LITERAL_STRING_INIT(kNull, "null")
, NS_LITERAL_STRING_INIT(kNil, "nil")
, NS_LITERAL_STRING_INIT(kSOAPArrayTypeAttribute, "arrayType")
, NS_LITERAL_STRING_INIT(kSOAPArrayOffsetAttribute, "offset")
, NS_LITERAL_STRING_INIT(kSOAPArrayPositionAttribute, "position")

View File

@ -129,6 +129,7 @@ struct nsSOAPStrings
// used by nsDefaultSOAPEncoder.cpp
const nsLiteralString kEmpty;
const nsLiteralString kNull;
const nsLiteralString kNil;
const nsLiteralString kSOAPArrayTypeAttribute;
const nsLiteralString kSOAPArrayOffsetAttribute;
const nsLiteralString kSOAPArrayPositionAttribute;

View File

@ -794,8 +794,12 @@ static nsresult ToString(const nsDiscriminatedUnion& data,
// XXX We might want stringified versions of these... ???
case nsIDataType::VTYPE_VOID:
case nsIDataType::VTYPE_EMPTY_ARRAY:
case nsIDataType::VTYPE_EMPTY:
outString.Truncate();
outString.SetIsVoid(true);
return NS_OK;
case nsIDataType::VTYPE_EMPTY_ARRAY:
case nsIDataType::VTYPE_ARRAY:
case nsIDataType::VTYPE_INTERFACE:
case nsIDataType::VTYPE_INTERFACE_IS: