Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.