At 2:49am -0400 Thu, 27 Oct 2011, Stephan Bergmann wrote:
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.

Huh. Then why use a switch? Why not use an if-else set of clauses? I recognize that this function may be called a lot, but does an if vs switch statement mean /that/ much in terms of performance?

In any event, thanks for the response.

Kevin
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to