Warning, file /sdk/kde-dev-scripts/kf5/convert-kmd5.pl was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #!/usr/bin/perl -w 0002 0003 # Laurent Montel <montel@kde.org> (2014) 0004 # KMD5->QCryptographicHash(QCryptographicHash::Md5) 0005 # find -iname "*.cpp" -o -iname "*.h" |xargs kde-dev-scripts/kf5/convert-kmd5.pl 0006 # TODO need to improve it. 0007 use strict; 0008 use File::Basename; 0009 use lib dirname($0); 0010 use functionUtilkde; 0011 0012 foreach my $file (@ARGV) { 0013 0014 my $modified; 0015 open(my $FILE, "<", $file) or warn "We can't open file $file:$!\n"; 0016 my %varname = (); 0017 my %finalized_called = (); 0018 my @l = map { 0019 my $orig = $_; 0020 0021 my $regexp = qr/ 0022 ^(\s*) # (1) Indentation 0023 KMD5\s+ 0024 (\w+) # (2) variable name 0025 ${functionUtilkde::paren_begin}3${functionUtilkde::paren_end} # (3) (args) 0026 /x; # /x Enables extended whitespace mode 0027 if (my ($indent, $var, $argument) = $_ =~ $regexp ) { 0028 warn "VAR: $var , ARGUMENT $argument\n"; 0029 $varname{$var} = 1; 0030 $_ = $indent . "QCryptographicHash $var(QCryptographicHash::Md5);\n"; 0031 $_ .= $indent . "$var.addData$argument;\n"; 0032 } 0033 0034 if (/(\w+)\.base64Digest\s*\(\s*\)/) { 0035 my $var = $1; 0036 if ( defined $varname{$var} ) { 0037 s/$var\.base64Digest\b/$var.result().toBase64/; 0038 } 0039 } 0040 if (/(\w+)\.hexDigest\s*\(\s*\)/) { 0041 my $var = $1; 0042 if ( defined $varname{$var} ) { 0043 s/$var\.hexDigest\b/$var.result().toHex/; 0044 } 0045 } 0046 0047 0048 s/\<KMD5\b\>/\<QCryptographicHash>/ if (/#include/); 0049 s/\<kmd5.h\>/\<QCryptographicHash>/ if (/#include/); 0050 $modified ||= $orig ne $_; 0051 $_; 0052 } <$FILE>; 0053 0054 if ($modified) { 0055 open (my $OUT, ">", $file); 0056 print $OUT @l; 0057 close ($OUT); 0058 } 0059 } 0060 0061 functionUtilkde::diffFile( "@ARGV" );