vendor/libgit2/src/sysdir.c in rugged-0.24.0b3 vs vendor/libgit2/src/sysdir.c in rugged-0.24.0b4
- old
+ new
@@ -13,10 +13,20 @@
#include <ctype.h>
#if GIT_WIN32
#include "win32/findfile.h"
#endif
+static int git_sysdir_guess_programdata_dirs(git_buf *out)
+{
+#ifdef GIT_WIN32
+ return git_win32__find_programdata_dirs(out);
+#else
+ git_buf_clear(out);
+ return 0;
+#endif
+}
+
static int git_sysdir_guess_system_dirs(git_buf *out)
{
#ifdef GIT_WIN32
return git_win32__find_system_dirs(out, L"etc\\");
#else
@@ -74,16 +84,17 @@
}
typedef int (*git_sysdir_guess_cb)(git_buf *out);
static git_buf git_sysdir__dirs[GIT_SYSDIR__MAX] =
- { GIT_BUF_INIT, GIT_BUF_INIT, GIT_BUF_INIT, GIT_BUF_INIT };
+ { GIT_BUF_INIT, GIT_BUF_INIT, GIT_BUF_INIT, GIT_BUF_INIT, GIT_BUF_INIT };
static git_sysdir_guess_cb git_sysdir__dir_guess[GIT_SYSDIR__MAX] = {
git_sysdir_guess_system_dirs,
git_sysdir_guess_global_dirs,
git_sysdir_guess_xdg_dirs,
+ git_sysdir_guess_programdata_dirs,
git_sysdir_guess_template_dirs,
};
static int git_sysdir__dirs_shutdown_set = 0;
@@ -254,9 +265,15 @@
int git_sysdir_find_xdg_file(git_buf *path, const char *filename)
{
return git_sysdir_find_in_dirlist(
path, filename, GIT_SYSDIR_XDG, "global/xdg");
+}
+
+int git_sysdir_find_programdata_file(git_buf *path, const char *filename)
+{
+ return git_sysdir_find_in_dirlist(
+ path, filename, GIT_SYSDIR_PROGRAMDATA, "ProgramData");
}
int git_sysdir_find_template_dir(git_buf *path)
{
return git_sysdir_find_in_dirlist(