- for_node_child(windows_node, child) {
- if (!node_is_element(child))
- continue;
- if (node_name_is(child, "ARCH")) {
- windows_info->arch = node_get_u64(child);
- } else if (node_name_is(child, "PRODUCTNAME")) {
- ret = node_get_string(child,
- &windows_info->product_name);
- } else if (node_name_is(child, "EDITIONID")) {
- ret = node_get_string(child,
- &windows_info->edition_id);
- } else if (node_name_is(child, "INSTALLATIONTYPE")) {
- ret = node_get_string(child,
- &windows_info->installation_type);
- } else if (node_name_is(child, "PRODUCTTYPE")) {
- ret = node_get_string(child,
- &windows_info->product_type);
- } else if (node_name_is(child, "PRODUCTSUITE")) {
- ret = node_get_string(child,
- &windows_info->product_suite);
- } else if (node_name_is(child, "LANGUAGES")) {
- ret = xml_read_languages(child,
- &windows_info->languages,
- &windows_info->num_languages,
- &windows_info->default_language);
- } else if (node_name_is(child, "VERSION")) {
- xml_read_windows_version(child,
- &windows_info->windows_version);
- windows_info->windows_version_exists = true;
- } else if (node_name_is(child, "SYSTEMROOT")) {
- ret = node_get_string(child, &windows_info->system_root);
- } else if (node_name_is(child, "HAL")) {
- ret = node_get_string(child, &windows_info->hal);
- } else if (node_name_is(child, "SERVICINGDATA")) {
- xmlNode *grandchild;
-
- for_node_child(child, grandchild) {
- if (node_is_element(grandchild) &&
- node_name_is(grandchild, "PKEYCONFIGVERSION"))
- {
- ret = node_get_string(grandchild,
- &windows_info->pkeyconfigversion);
- }
- }
- }