summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-07-16 03:17:29 +0200
committerAndras Timar <andras.timar@collabora.com>2017-07-31 12:03:53 +0200
commit95ace79786e9aa9f834d34c06070caf8b0d9dc5a (patch)
treeb0287eeed61761cab4fccc8d7d3602ef7bbe184a
parent71f07bdc7a56e52c7fdc9811d8715d5ecee20f40 (diff)
don't use memset on structure with std::shared_ptr member
Change-Id: Ie6033b9820435bb6a45aa70f9a48115000571e0f Reviewed-on: https://gerrit.libreoffice.org/40004 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit c7fe625c8d41f648f89765abc40bb7b8fd4ed12a) Reviewed-on: https://gerrit.libreoffice.org/40011 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 5b9654f240b77448954c707e53adcdfccbdc74f4)
-rw-r--r--hwpfilter/source/hinfo.cxx18
-rw-r--r--hwpfilter/source/hinfo.h24
-rw-r--r--hwpfilter/source/hpara.cxx1
-rw-r--r--hwpfilter/source/hstyle.cxx2
4 files changed, 39 insertions, 6 deletions
diff --git a/hwpfilter/source/hinfo.cxx b/hwpfilter/source/hinfo.cxx
index 2e5d4b1c9a16..26e2847ff048 100644
--- a/hwpfilter/source/hinfo.cxx
+++ b/hwpfilter/source/hinfo.cxx
@@ -194,6 +194,24 @@ bool HWPSummary::Read(HWPFile & hwpf)
return (!hwpf.State());
}
+ParaShape::ParaShape()
+ : index(0)
+ , left_margin(0)
+ , right_margin(0)
+ , indent(0)
+ , lspacing(0)
+ , pspacing_prev(0)
+ , pspacing_next(0)
+ , condense(0)
+ , arrange_type(0)
+ , shade(0)
+ , outline(0)
+ , outline_continue(0)
+ , pagebreak(0)
+{
+ reserved[0] = 0;
+ reserved[1] = 0;
+}
void ParaShape::Read(HWPFile & hwpf)
{
diff --git a/hwpfilter/source/hinfo.h b/hwpfilter/source/hinfo.h
index 7adc9e94ac30..590b5f962e7c 100644
--- a/hwpfilter/source/hinfo.h
+++ b/hwpfilter/source/hinfo.h
@@ -242,23 +242,37 @@ struct CharShape
/**
* @short Tab properties
*/
-typedef struct
+struct TabSet
{
unsigned char type;
unsigned char dot_continue;
hunit position;
-} TabSet;
+ TabSet()
+ : type(0)
+ , dot_continue(0)
+ , position(0)
+ {
+ }
+};
/**
* @short Column properties
*/
-typedef struct
+struct ColumnDef
{
unsigned char ncols;
unsigned char separator;
hunit spacing;
hunit columnlen, columnlen0;
-} ColumnDef;
+ ColumnDef()
+ : ncols(0)
+ , separator(0)
+ , spacing(0)
+ , columnlen(0)
+ , columnlen0(0)
+ {
+ }
+};
/**
* @short Style of paragraph
@@ -287,6 +301,8 @@ struct ParaShape
unsigned char pagebreak;
void Read(HWPFile &);
+
+ ParaShape();
};
#endif // INCLUDED_HWPFILTER_SOURCE_HINFO_H
diff --git a/hwpfilter/source/hpara.cxx b/hwpfilter/source/hpara.cxx
index 28d579507d95..42baa6814956 100644
--- a/hwpfilter/source/hpara.cxx
+++ b/hwpfilter/source/hpara.cxx
@@ -80,7 +80,6 @@ HWPPara::HWPPara()
, linfo(nullptr)
{
memset(cshape.get(), 0, sizeof(CharShape));
- memset(pshape.get(), 0, sizeof(ParaShape));
}
HWPPara::~HWPPara()
diff --git a/hwpfilter/source/hstyle.cxx b/hwpfilter/source/hstyle.cxx
index 6c29a500d2b5..d43b3c8fc785 100644
--- a/hwpfilter/source/hstyle.cxx
+++ b/hwpfilter/source/hstyle.cxx
@@ -108,7 +108,7 @@ void HWPStyle::SetParaShape(int n, ParaShape * pshapep)
if (pshapep)
DATA[n].pshape = *pshapep;
else
- memset(&DATA[n].pshape, 0, sizeof(ParaShape));
+ DATA[n].pshape = ParaShape();
}
}