@@ -53,8 +53,13 @@ void WvWareLegacyMicrosoftFile::open() {
5353
5454 int ret = wvInitParser_gsf (&m_parser_state->ps , m_parser_state->gsf_input );
5555
56+ m_file_meta.type = FileType::legacy_word_document;
57+ m_file_meta.document_meta = DocumentMeta ();
58+ m_file_meta.document_meta ->document_type = DocumentType::text;
59+
5660 // check if encrypted
5761 if ((ret & 0x8000 ) != 0 ) {
62+ m_file_meta.password_encrypted = true ;
5863 m_encryption_state = EncryptionState::encrypted;
5964 m_parser_state->encryption_flag = ret & 0x7fff ;
6065
@@ -82,7 +87,7 @@ FileType WvWareLegacyMicrosoftFile::file_type() const noexcept {
8287}
8388
8489FileMeta WvWareLegacyMicrosoftFile::file_meta () const noexcept {
85- return { file_type (), password_encrypted (), document_meta ()} ;
90+ return m_file_meta ;
8691}
8792
8893DecoderEngine WvWareLegacyMicrosoftFile::decoder_engine () const noexcept {
@@ -93,11 +98,12 @@ DocumentType WvWareLegacyMicrosoftFile::document_type() const {
9398 return DocumentType::text;
9499}
95100
96- DocumentMeta WvWareLegacyMicrosoftFile::document_meta () const { return {}; }
101+ DocumentMeta WvWareLegacyMicrosoftFile::document_meta () const {
102+ return m_file_meta.document_meta .value ();
103+ }
97104
98105bool WvWareLegacyMicrosoftFile::password_encrypted () const noexcept {
99- return m_encryption_state == EncryptionState::encrypted ||
100- m_encryption_state == EncryptionState::decrypted;
106+ return m_file_meta.password_encrypted ;
101107}
102108
103109EncryptionState WvWareLegacyMicrosoftFile::encryption_state () const noexcept {
0 commit comments