Julien Nabet <serval2412@yahoo.fr> writes:
Concerning the easyhack "Strip include guards in idl files", I pushed
2 patches for the directory "ure/udkapi".
[...]
Then to check it was ok, i used this command to search ifndef line
followed by include line in idl files :
find . -name "*.idl"|xargs pcregrep -M 'ifndef.*\n.*include'
[...]
There were few to process manually so I did it and pushed a second patch.
Then I took a look at the directory "ure/offapi". There are about 3700
files and the strip-guards script lets a lot (more than 3000!) of
"#ifndef" with "#include".( I don't know why, a pb of Unix/Dos
end-of-line perhaps ?)
This time it's too much to do it manually.
Some idea to improve the strip-guards script ?
I looked at your commit with the manually fixed guards[1] and at least
some of these are explainable. Maybe that's why there are so many guards
left in offapi:
[1] http://cgit.freedesktop.org/libreoffice/ure/commit/?id=cab76775a72e2e9e6cd242bbf87dd23475999164
- Some guards end with _idl_idl__ instead of _idl__. If I understood the
script correctly, this should not be an issue, because it visits the
included files and retrieves the right guard from there. But some are
wrong, like
#ifndef __com_sun_star_lang_XServiceInfo_idl_idl__
#include <com/sun/star/lang/XServiceInfo.idl>
Because the file actually defines
#define __com_sun_star_lang_XServiceInfo_idl__
So these will not get caught by the script.
Unless there's a good reason to have _idl_idl__ in a guard name (like
if there are actually .idl.idl files), maybe these should be changed
to _idl__ to fix the ifndefs themselves and to allow the script to
find them.
- Some guards are written with lower case, while they're defined in
upper case in the included file, like
#ifndef __com_sun_star_bridge_XBridge_idl__
#include <com/sun/star/bridge/XBridge.idl>
while the file does
#define _COM_SUN_STAR_BRIDGE_XBRIDGE_IDL_
The script allows it the other way around, that is, upper case guards
in ifndefs around includes. (Although I wonder if guards are really
case-insensitive.)
I know very little of Perl,
Same here.
does anybody got an idea to avoid to
process 3700 files by hand ?
I'd say "regular expressions"! :-)
--
Nuno J. Silva
gopher://sdf-eu.org/1/users/njsg
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.