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

Reply via email to