On 03/20/2013 02:53 PM, Thomas Arnhold wrote:
On 20.03.2013 12:09, Stephan Bergmann wrote:
On 03/19/2013 07:38 PM, Thomas Arnhold wrote:
#!/usr/bin/perl
# git grep 'RTL_CONSTASCII_USTRINGPARAM' -- '*.[hc]xx' | cut -d':' -f1
| sort -u | xargs perl constascii.pl
foreach (@ARGV) {
my $file = $_;
my $data = "";
my $fh;
open($fh, "<$file");
while (<$fh>) { $data .= $_; }
close($fh);
# replace OUString(RTL_...)
$data =~
s/OUString\s*\(\s*RTL_CONSTASCII_USTRINGPARAM\s*\((\s*"[^")]*?"\s*)\)\s*\)/OUString\($1\)/gms;
BTW, did this work by luck, not causing any damage in cases like
OUString(RTL_CONSTASCII_USTRINGPARAM("\")"))
More or less, because I found no occurrences of that (the two closing
brackets after " are limiting it. It would look quite behind \" for two
closing brackets.
Yeah, the example of what would get damaged should rather have been
OUString(RTL_CONSTASCII_USTRINGPARAM("\"))"))
Indeed this regex isn't safe for other conversions of this macro, where
this case may occur. There [^")\\]*? should be used to omit those.
But why drop legitimate cases instead of doing it properly, i.e.,
"([^"\\]|\\.)*"
Stephan
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice