virt-win-reg: Don't hard-code the relationship between hive name and path.
The crucial change is the tuple that is returned by map_path_to_hive:
- my ($hivename, [...]) = map_path_to_hive ($_);
+ my ($hiveshortname, $hivefile, [...]) = map_path_to_hive ($_);
Previously the $hivename was both the name of the hive (eg. "sam"),
the name of the local copy in /tmp, and the name of the hive in
%systemroot%\system32\config.
In the new code, the $hiveshortname (eg. "sam") is still used for the
local copy in /tmp, but we return $hivefile which is the full Windows
path (eg. "/windows/system32/config/sam").
The purpose of this change is to allow us in future to return hives
from other Windows directories, specifically HKEY_USERS hives from
Windows home directories.
Although this is just code motion, it requires some quite extensive
changes to virt-win-reg.