On Thu, 2010-11-25 at 19:41 +0100, Pierre-André Jacquod wrote: > { > sal_Int8 nTemp; > rVal >>= nTemp; > if(nTemp >=1 && nTemp < 0x7f > nLines = (BYTE)nTemp; > } > > Well, that's fine for me, nTemp is effectively not initialized. And the > second line is then the same as: rVal = rVal >> nTemp > > In my understanding, since nTemps is not initialized, if the compiler is > nice, nTemp is then defaulted to 0 (or NULL). Then rVal = rVal >> 0 make > not a lot of sense
> OK, now the question: what did I missed ????? Heh, this also confuses cppcheck as well. rVal is an "Any" and there is an overloaded "operator >>=" which operates on that "Any" and nTemp. So its not anything to do with bit shifting. Read it like... rVal.ExtractTo(nTemp) Now, if >>= fails it leaves nTemp untouched. So the general fix is indeed to initialize nTemp to 0 to clear the warning. C. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice