| 71 return FALSE; |
71 return FALSE; |
| 72 |
72 |
| 73 retv = RegOpenKeyExW(key, sub_key, 0, KEY_ENUMERATE_SUB_KEYS, &hkey); |
73 retv = RegOpenKeyExW(key, sub_key, 0, KEY_ENUMERATE_SUB_KEYS, &hkey); |
| 74 if (retv != ERROR_SUCCESS) |
74 if (retv != ERROR_SUCCESS) |
| 75 return FALSE; |
75 return FALSE; |
| |
76 |
| |
77 if (val_name[0] == L'\0') { |
| |
78 RegCloseKey(hkey); |
| |
79 return TRUE; |
| |
80 } |
| 76 |
81 |
| 77 index = 0; |
82 index = 0; |
| 78 while (TRUE) |
83 while (TRUE) |
| 79 { |
84 { |
| 80 DWORD name_size = sizeof(name_buffer); |
85 DWORD name_size = sizeof(name_buffer); |
| 503 DWORD plen; |
508 DWORD plen; |
| 504 |
509 |
| 505 printf("%s", "Looking for Perl... "); |
510 printf("%s", "Looking for Perl... "); |
| 506 |
511 |
| 507 plen = sizeof(perl_path) / sizeof(wchar_t); |
512 plen = sizeof(perl_path) / sizeof(wchar_t); |
| 508 if (read_reg_string(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Perl", L"", |
513 if (reg_value_exists(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Perl", L"") && |
| |
514 read_reg_string(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Perl", L"", |
| 509 (LPBYTE) &perl_path, &plen)) { |
515 (LPBYTE) &perl_path, &plen)) { |
| 510 /* We *could* check for perl510.dll, but it seems unnecessary. */ |
516 /* We *could* check for perl510.dll, but it seems unnecessary. */ |
| 511 wprintf(L"found in '%s'.\n", perl_path); |
517 wprintf(L"found in '%s'.\n", perl_path); |
| 512 |
518 |
| 513 if (perl_path[wcslen(perl_path) - 1] != L'\\') |
519 if (perl_path[wcslen(perl_path) - 1] != L'\\') |