> On July 16, 2012, 5:14 p.m., Friedrich W. H. Kossebau wrote:
> > I wonder if it would no be a better fix to add a parameter for the default 
> > value to the macro STRING_TO_INT, to which the variable gets set if the 
> > string is empty. Might be more readable code not only to me.
> > 
> > Only issue would be the usage in
> >         STRING_TO_INT(pitchFamily, pitchFamilyInt, "latin@pitchFamily")
> > as that needs no default value, given that "if (!pitchFamily.isEmpty()) {" 
> > already before. But then this code is already now not a perfect match for 
> > the macro, as the macro again checks if pitchFamily is empty.
> > Perhaps that code could be changed from
> >     if (!pitchFamily.isEmpty()) {
> >         int pitchFamilyInt;
> >         STRING_TO_INT(pitchFamily, pitchFamilyInt, "latin@pitchFamily")
> > to
> >     int pitchFamilyInt;
> >     STRING_TO_INT(pitchFamily, pitchFamilyInt, -1, "latin@pitchFamily")
> >     if (pitchFamilyInt != -1) {
> > with the new macro.
> > 
> > Just a proposal. Because you will find out that this patch is not complete, 
> > there are more places where the original variable will get used 
> > uninitliazed, because there is no default value. With the same macro 
> > STRING_TO_INT this seems at least true for
> > int m_svgWidth; //! set by read_ext()
> > int m_svgHeight; //! set by read_ext()
> > int m_svgChX; //!< set by read_chOff()
> > int m_svgChY; //!< set by read_chOff()
> > int m_svgChWidth; //! set by read_chExt()
> > int m_svgChHeight; //! set by read_chExt()
> > All are never initialized if their string is empty. And as the other 
> > STRING_TO_* macros seem to follow the same pattern, there is even more to 
> > do :)
> >
> 
> Jarosław Staniek wrote:
>     For cases like m_svgChHeight, read_chExt() may be not called at all e.g. 
> for invalid input -- since m_svgChHeight is in class scope it should be 
> initialized in the ctor. having initializing in more than one place would be 
> error prone.
>     
>     The idea of these macros is apparently that the destination variables are 
> initialized (once) anyway, possibly in place where they are defined.
>     
>     So I think the macros can stay as they are now.
>     
>     Regarding missing initializations: definitely please go on to fix them 
> (my two findings are from compiler, you apparently have found more).
>
> 
> Matus Uzak wrote:
>     There's no need for initialization at this place, because part of the 
> STRING_TO_INT code is to return immediately if the conversion fails.

{m_svgWidth, m_svgHeight} are initialized in the corresponding filter.  To 
initialize {m_svgChX, m_svgChY, m_svgChWidth, m_svgChHeight} is on my TODO list 
and I could resolve it this week.


- Matus


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105519/#review15973
-----------------------------------------------------------


On July 11, 2012, 9:43 p.m., Jarosław Staniek wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/105519/
> -----------------------------------------------------------
> 
> (Updated July 11, 2012, 9:43 p.m.)
> 
> 
> Review request for Calligra and Matus Uzak.
> 
> 
> Description
> -------
> 
> Fixed '<value> may be used uninitialized' warnings
> 
> In member function KoFilter::ConversionStatus 
> XlsxXmlWorksheetReader::read_spcPct(): lineSpace may be used uninitialized in 
> this function
> In member function KoFilter::ConversionStatus 
> XlsxXmlWorksheetReader::read_spcPts(): margin may be used uninitialized in 
> this function
> 
> 
> Diffs
> -----
> 
>   filters/libmsooxml/MsooXmlCommonReaderDrawingMLImpl.h 
> 492f2ea7f6f01a0893d3f7a26b7cc2b36e82d49e 
> 
> Diff: http://git.reviewboard.kde.org/r/105519/diff/
> 
> 
> Testing
> -------
> 
>  
> 
> 
> Thanks,
> 
> Jarosław Staniek
> 
>

_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel

Reply via email to