On 2013-10-31 10:58, Stephan Bergmann wrote:
On 10/31/2013 09:46 AM, Noel Grandin wrote:
There are some odd macros here:

http://opengrok.libreoffice.org/xref/core/sal/rtl/string.cxx#58

which look like:

      #define IMPL_RTL_STRINGNAME( n )    rtl_string_ ## n

and then they are used in the code like this:

     IMPL_RTL_STRINGNAME( release )( *pTarget );

and in methods definitions like this:

     static IMPL_RTL_STRINGDATA* IMPL_RTL_STRINGNAME( ImplAlloc )(
sal_Int32 nLen )


I'm not seeing the points of these macros?
They make the methods in questions invisible to OpenGrok and grep and
they don't seem to add any value.

Those IMPL_RTL_* macros are for use in the #include "strtmpl.cxx" a few lines further down. Sort of poor man's templates, to do code sharing among string.cxx and ustring.cxx.

Uses of the macros directly in string.cxx could be resolved, of course.



Ah, that makes more sense. I'll add a comment in the code to that effect for 
the next confused newbie :-)


Disclaimer: http://www.peralex.com/disclaimer.html


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

Reply via email to