[Libreoffice] semantics of ScBaseCell* lclCloneCell

Stephan Bergmann sbergman at redhat.com
Wed Oct 26 23:49:19 PDT 2011


On 10/27/2011 07:10 AM, Kevin Hunter wrote:
> I'm nosing around ScBaseCell in sc/source/core/data/cell.cxx, and I'm
> curious about the semantics of the function lclCloneCell. Specifically,
> when would that function ever return a NULL pointer? Does Calc not know
> about all its cell types? Perhaps extensions are able to add their own
> cell types and still use this function? (Then why would they use this
> function?!)

Not an sc expert, but from looking at the code it looks to me like the 
default case shall never be reached, but is there to (a) silence 
compiler warnings and (b) fire an OSL_FAIL in case there is a 
programming error that causes the case to be reached nonetheless (I 
usually put a "this cannot happen" into such OSL_FAILs, in good old 
Knuth tradition).  And since the function still needs to syntactically 
return something, even in this "unreachable" case, it returns the 
canonic null value.

Stephan


More information about the LibreOffice mailing list