1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
fix MSVC warnings:
* various C4946 reinterpret_cast between related classes
* silly C4305 truncation from double to float
* C4806: no value of type 'bool' promoted to type 'int'
can equal the given constant (real bug?)
* C4701: pot. uninitialized variable 'ucs4Character'
diff -ru wps.old/src/lib/WPS4.cpp wps/src/lib/WPS4.cpp
--- wps.old/src/lib/WPS4.cpp 2012-05-31 14:14:13.000000000 +0200
+++ wps/src/lib/WPS4.cpp 2012-10-29 14:13:08.241600000 +0100
@@ -116,7 +116,7 @@
return;
}
- WPS4Parser *mnParser = reinterpret_cast<WPS4Parser *>(m_parser);
+ WPS4Parser *mnParser = dynamic_cast<WPS4Parser *>(m_parser);
mnParser->send(m_entry, subDocumentType);
}
diff -ru wps.old/src/lib/WPS4Text.cpp wps/src/lib/WPS4Text.cpp
--- wps.old/src/lib/WPS4Text.cpp 2012-05-31 14:14:13.000000000 +0200
+++ wps/src/lib/WPS4Text.cpp 2012-10-29 14:22:16.004400000 +0100
@@ -212,7 +212,7 @@
//! operator<< for font properties
std::ostream &operator<<(std::ostream &o, Font const &ft)
{
- o << reinterpret_cast<WPSFont const &>(ft) << ",";
+ o << dynamic_cast<WPSFont const &>(ft) << ",";
if (ft.m_special)
{
@@ -822,7 +822,7 @@
WPSEntry ent = m_state->m_dosLinkList[id].m_pos;
ent.setType("TEXT");
ent.setId(WPS4TextInternal::Z_DLink);
- WPSPosition pos_(Vec2f(),Vec2f(3.0,0.2));
+ WPSPosition pos_(Vec2f(),Vec2f(3.0f,0.2f));
pos_.setRelativePosition(WPSPosition::Paragraph, WPSPosition::XCenter);
pos_.m_wrapping = WPSPosition::WNone;
WPXPropertyList extras;
@@ -1729,7 +1729,7 @@
int underlinePos = libwps::readU8(m_input);
if (underlinePos)
{
- if (!what & 0x20) f << "undFl,";
+ if (!(what & 0x20)) f << "undFl,";
what &= 0xdf;
attributes |= WPS_UNDERLINE_BIT;
}
diff -ru wps.old/src/lib/WPS8.cpp wps/src/lib/WPS8.cpp
--- wps.old/src/lib/WPS8.cpp 2012-05-31 14:14:13.000000000 +0200
+++ wps/src/lib/WPS8.cpp 2012-10-29 14:19:31.206000000 +0100
@@ -94,7 +94,7 @@
}
long actPos = m_input->tell();
- WPS8Parser *mnParser = reinterpret_cast<WPS8Parser *>(m_parser);
+ WPS8Parser *mnParser = dynamic_cast<WPS8Parser *>(m_parser);
if (type == libwps::DOC_NOTE)
mnParser->sendNote(m_input, m_id, m_type == Endnote);
else
@@ -337,7 +337,7 @@
uint16_t high_surrogate = 0;
bool fail = false;
uint16_t readVal;
- uint32_t ucs4Character;
+ uint32_t ucs4Character(0);
while (true)
{
if (input->atEOS())
|