mirror of https://gitee.com/openkylin/qemu.git
qga-win: demystify namespace stripping
It was not obvious what exactly the cryptic string copying does to the GUID. This change makes the intent clearer. Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
4550dee80f
commit
7fae518479
|
@ -521,7 +521,7 @@ static GuestPCIAddress *get_pci_info(char *guid, Error **errp)
|
|||
char dev_name[MAX_PATH];
|
||||
char *buffer = NULL;
|
||||
GuestPCIAddress *pci = NULL;
|
||||
char *name = g_strdup(&guid[4]);
|
||||
char *name = NULL;
|
||||
bool partial_pci = false;
|
||||
pci = g_malloc0(sizeof(*pci));
|
||||
pci->domain = -1;
|
||||
|
@ -529,6 +529,13 @@ static GuestPCIAddress *get_pci_info(char *guid, Error **errp)
|
|||
pci->function = -1;
|
||||
pci->bus = -1;
|
||||
|
||||
if (g_str_has_prefix(guid, "\\\\.\\") ||
|
||||
g_str_has_prefix(guid, "\\\\?\\")) {
|
||||
name = g_strdup(guid + 4);
|
||||
} else {
|
||||
name = g_strdup(guid);
|
||||
}
|
||||
|
||||
if (!QueryDosDevice(name, dev_name, ARRAY_SIZE(dev_name))) {
|
||||
error_setg_win32(errp, GetLastError(), "failed to get dos device name");
|
||||
goto out;
|
||||
|
|
Loading…
Reference in New Issue