mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-13 16:52:39 +00:00
Move code to find msysgit path using registry to own method
Signed-off-by: Sven Strickroth <email@cs-ware.de>
This commit is contained in:
parent
549ee21a6f
commit
32a4e3b712
@ -514,11 +514,9 @@ int find_system_file_using_path(git_buf *path, const char *filename)
|
||||
|
||||
return GIT_ENOTFOUND;
|
||||
}
|
||||
#endif
|
||||
|
||||
int git_futils_find_system_file(git_buf *path, const char *filename)
|
||||
int find_system_file_using_registry(git_buf *path, const char *filename)
|
||||
{
|
||||
#ifdef GIT_WIN32
|
||||
#ifndef _WIN64
|
||||
#define REG_MSYSGIT_INSTALL L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Git_is1"
|
||||
#else
|
||||
@ -531,10 +529,6 @@ int git_futils_find_system_file(git_buf *path, const char *filename)
|
||||
DWORD dwType = REG_SZ;
|
||||
DWORD dwSize = MAX_PATH;
|
||||
|
||||
// try to find git.exe/git.cmd on path
|
||||
if (!find_system_file_using_path(path, filename))
|
||||
return 0;
|
||||
|
||||
root.len = 0;
|
||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, REG_MSYSGIT_INSTALL, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS)
|
||||
{
|
||||
@ -563,18 +557,30 @@ int git_futils_find_system_file(git_buf *path, const char *filename)
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int git_futils_find_system_file(git_buf *path, const char *filename)
|
||||
{
|
||||
#ifdef GIT_WIN32
|
||||
// try to find git.exe/git.cmd on path
|
||||
if (!find_system_file_using_path(path, filename))
|
||||
return 0;
|
||||
|
||||
// try to find msysgit installation path using registry
|
||||
if (!find_system_file_using_registry(path, filename))
|
||||
return 0;
|
||||
#else
|
||||
if (git_buf_joinpath(path, "/etc", filename) < 0)
|
||||
return -1;
|
||||
|
||||
if (git_path_exists(path->ptr) == true)
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
git_buf_clear(path);
|
||||
giterr_set(GITERR_OS, "The system file '%s' doesn't exist", filename);
|
||||
return GIT_ENOTFOUND;
|
||||
#endif
|
||||
}
|
||||
|
||||
int git_futils_find_global_file(git_buf *path, const char *filename)
|
||||
|
Loading…
Reference in New Issue
Block a user