Modifications to chat and msgs to allow wchar_t messages

(support for multiple languages)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@317 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2008-01-26 13:00:57 +00:00
parent c4e1d73837
commit bfb0b2be2b
13 changed files with 228 additions and 90 deletions

View file

@ -139,7 +139,7 @@ bool RsTlvFileItem::SetTlv(void *data, uint32_t size, uint32_t *offset)
std::cerr << std::endl;
#endif
ok &= SetTlvString(data, tlvend, offset, TLV_TYPE_STR_HASH, hash);
ok &= SetTlvString(data, tlvend, offset, TLV_TYPE_STR_HASH_SHA1, hash);
#ifdef TLV_FI_DEBUG
@ -237,7 +237,7 @@ bool RsTlvFileItem::GetTlv(void *data, uint32_t size, uint32_t *offset)
/* get mandatory parts first */
ok &= getRawUInt64(data, tlvend, offset, &filesize);
ok &= GetTlvString(data, tlvend, offset, TLV_TYPE_STR_HASH, hash);
ok &= GetTlvString(data, tlvend, offset, TLV_TYPE_STR_HASH_SHA1, hash);
/* while there is more TLV (optional part) */
while((*offset) + 2 < tlvend)
@ -316,8 +316,8 @@ std::ostream &RsTlvFileItem::print(std::ostream &out, uint16_t indent)
void RsTlvFileSet::TlvClear()
{
title = "";
comment = "";
title.clear();
comment.clear();
items.clear();
}
@ -337,9 +337,9 @@ uint16_t RsTlvFileSet::TlvSize()
/* now add comment and title length of this tlv object */
if (title.length() > 0)
s += GetTlvStringSize(title);
s += GetTlvWideStringSize(title);
if (comment.length() > 0)
s += GetTlvStringSize(comment);
s += GetTlvWideStringSize(comment);
return s;
}
@ -374,9 +374,9 @@ bool RsTlvFileSet::SetTlv(void *data, uint32_t size, uint32_t *offset) /* se
/* now optional ones */
if (title.length() > 0)
ok &= SetTlvString(data, tlvend, offset, TLV_TYPE_STR_TITLE, title); // no base tlv type for title?
ok &= SetTlvWideString(data, tlvend, offset, TLV_TYPE_WSTR_TITLE, title);
if (comment.length() > 0)
ok &= SetTlvString(data, tlvend, offset, TLV_TYPE_STR_COMMENT, comment); // no base tlv type for comment?
ok &= SetTlvWideString(data, tlvend, offset, TLV_TYPE_WSTR_COMMENT, comment);
return ok;
@ -420,15 +420,15 @@ bool RsTlvFileSet::GetTlv(void *data, uint32_t size, uint32_t *offset)
items.push_back(newitem);
}
}
else if (tlvsubtype == TLV_TYPE_STR_TITLE)
else if (tlvsubtype == TLV_TYPE_WSTR_TITLE)
{
ok &= GetTlvString(data, tlvend, offset,
TLV_TYPE_STR_TITLE, title);
ok &= GetTlvWideString(data, tlvend, offset,
TLV_TYPE_WSTR_TITLE, title);
}
else if (tlvsubtype == TLV_TYPE_STR_COMMENT)
else if (tlvsubtype == TLV_TYPE_WSTR_COMMENT)
{
ok &= GetTlvString(data, tlvend, offset,
TLV_TYPE_STR_COMMENT, comment);
ok &= GetTlvWideString(data, tlvend, offset,
TLV_TYPE_WSTR_COMMENT, comment);
}
else
{
@ -468,12 +468,14 @@ std::ostream &RsTlvFileSet::print(std::ostream &out, uint16_t indent)
if (title.length() > 0)
{
printIndent(out, int_Indent);
out << "Title: " << title << std::endl;
std::string cnv_title(title.begin(), title.end());
out << "Title: " << cnv_title << std::endl;
}
if (comment.length() > 0)
{
printIndent(out, int_Indent);
out << "Comment: " << comment << std::endl;
std::string cnv_comment(comment.begin(), comment.end());
out << "Comment: " << cnv_comment << std::endl;
}
printEnd(out, "RsTlvFileSet", indent);