- TRACE opened registry handles
[wine] / programs / regapi / regRestorer.pl
1 #!/usr/bin/perl
2
3 # This script takes as STDIN an output from the regFixer.pl
4 # and reformat the file as if it would have been exported from the registry
5 #
6 # Note: the output file is not exactly the one we get when exporting from
7 #       regedit, the tiny difference is that multilines (which were 
8 #       single-linized by regFixer.pl) values are not re-multi-linized by 
9 #       this script.
10 #
11 # Copyright 1999 Sylvain St-Germain
12
13
14 ${newkey} = "";
15 ${key}    = "";   
16 ${data}   = "";   
17
18 # I do not validate the integrity of the file, I am assuming that 
19 # the input file comes from the output of regFixer.pl, therefore things 
20 # should be ok, if they are not, investigate and send me an email...
21
22 LINE: while(<>) {
23   chomp;                             # get rid of new line
24
25   next LINE if(/^$/);                # This is an empty line
26
27   (${key}, ${data}, ${rest})= split /]/,$_ ; # Extract the values from the line
28
29   ${key}  = "${key}]";               # put the ']' back there...
30
31   if (${rest} ne "")                 # concat we had more than 1 ']' 
32   {                                  # on the line
33     ${data} = "${data}]${rest}"; 
34   }
35
36   if (${key} eq ${newkey})
37   {
38     print "${data}\n";
39   }
40   else
41   {
42     ${newkey} = ${key};             # assign it
43
44     print "\n";
45     print "${key}\n";
46     print "${data}\n";
47   }
48 }
49
50
51