Add unicode string support to the ktnef parser library

Signed-off-by: Fabio Rossi <rossi.f@inwind.it>
(cherry picked from commit 9fd3b6acfa)
r14.0.x
Fabio Rossi 6 years ago committed by Michele Calgaro
parent 9e0b54c3a9
commit 6697c0bf7c
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -715,7 +715,17 @@ TQ_UINT16 readMAPIValue(TQDataStream& stream, MAPI_value& mapi)
} }
break; break;
case MAPI_TYPE_USTRING: case MAPI_TYPE_USTRING:
mapi.type = MAPI_TYPE_NONE; // in case of a vector'ed value, the number of elements
// has already been read in the upper for-loop
if ( ISVECTOR( mapi ) )
d = 1;
else
stream >> d;
for (uint i=0;i<d;i++)
{
value.clear();
value.asString() = readMAPIString( stream, true );
}
break; break;
case MAPI_TYPE_OBJECT: case MAPI_TYPE_OBJECT:
case MAPI_TYPE_BINARY: case MAPI_TYPE_BINARY:
@ -741,6 +751,7 @@ TQ_UINT16 readMAPIValue(TQDataStream& stream, MAPI_value& mapi)
} }
break; break;
default: default:
kdDebug().form( "unsupported type=%x\n", mapi.type );
mapi.type = MAPI_TYPE_NONE; mapi.type = MAPI_TYPE_NONE;
break; break;
} }
@ -844,6 +855,8 @@ bool KTNEFParser::readMAPIProperties( TQMap<int,KTNEFProperty*>& props, KTNEFAtt
kdDebug().form( "(tag=%04x) MAPI time%s: %s\n", mapi.tag, mapiname.ascii(), mapi.value.toString().ascii() ); kdDebug().form( "(tag=%04x) MAPI time%s: %s\n", mapi.tag, mapiname.ascii(), mapi.value.toString().ascii() );
break; break;
case MAPI_TYPE_USTRING: case MAPI_TYPE_USTRING:
kdDebug().form( "(tag=%04x) MAPI unicode string%s: size=%d \"%s\"\n", mapi.tag, mapiname.ascii(), mapi.value.toByteArray().size(), mapi.value.toString().ascii() );
break;
case MAPI_TYPE_STRING8: case MAPI_TYPE_STRING8:
kdDebug().form( "(tag=%04x) MAPI string%s: size=%d \"%s\"\n", mapi.tag, mapiname.ascii(), mapi.value.toByteArray().size(), mapi.value.toString().ascii() ); kdDebug().form( "(tag=%04x) MAPI string%s: size=%d \"%s\"\n", mapi.tag, mapiname.ascii(), mapi.value.toByteArray().size(), mapi.value.toString().ascii() );
break; break;

Loading…
Cancel
Save