On 09/19/2011 08:58 PM, Thomas Arnhold wrote:
I've recently seen some changes, which removed unnecessary NULL checks
for delete commands with the form:
- if (pTextPContext)
- delete pTextPContext;
+ delete pTextPContext;
Codebase is full with these. I've attached a little perl script which
should solve this conversion. I've attached a sample for the vcl dir.
Any objections?
By the way, using the below regexps (best run in a C locale) should find
even more instances, and should avoid false positives of the form "if
(foo) delete bar;" or (unlikely) "#if (foo) \n delete foo;":
foreach (@ARGV) {
my $file = $_;
open(FH, "<$file");
my $data = "";
while (<FH>) { $data .= $_; }
close(FH);
while ($data =~ /((?<!#)\s*\bif\s*\(\s*(\w+)\s*\)\s*delete\s+\2\s*;)/g) {
print "found <$1>\n";
}
while ($data =~
/((?<!#)\s*\bif\s*\(\s*(\w+)\s*\)\s*{\s*delete\s+\2\s*;\s*})/g) {
print "found <$1>\n";
}
}
(The outer parentheses are only there for print "found <$1>\n" to work
-- no idea how Perl makes available the complete match without that
hack... The leading "(?<!#)\s*" should really read "(?<!#\s*)", but
then Perl complains that "Variable length lookbehind [is] not implemented.")
-Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice