summaryrefslogtreecommitdiff
path: root/git-compat-util.h
diff options
context:
space:
mode:
authorJiang Xin <worldhello.net@gmail.com>2022-04-13 14:51:53 +0800
committerJiang Xin <worldhello.net@gmail.com>2022-04-13 14:51:53 +0800
commit61de00a32115b6090891f20797fdfd1501709ab9 (patch)
treee6a0290cef9e52589a8b78e55dbae3daf559e202 /git-compat-util.h
parentdfbdf52df590cf8af37b193d9bf9f9a41162f3ae (diff)
parent11cfe552610386954886543f5de87dcc49ad5735 (diff)
Merge branch 'master' of github.com:git/git
* 'master' of github.com:git/git: (25 commits) Git 2.36-rc2 i18n: fix some badly formatted i18n strings Git 2.36-rc1 t9902: split test to run on appropriate systems ls-tree doc: document interaction with submodules Documentation: add --batch-command to cat-file synopsis git-ls-tree.txt: fix the name of "%(objectsize:padded)" submodule-helper: fix usage string doc: replace "--" with {litdd} in credential-cache/fsmonitor contrib/scalar: fix 'all' target in Makefile Documentation/Makefile: fix "make info" regression in dad9cd7d518 configure.ac: fix HAVE_SYNC_FILE_RANGE definition git-compat-util: really support openssl as a source of entropy ls-tree: `-l` should not imply recursive listing Git 2.35.2 Git 2.34.2 Git 2.33.2 Git 2.32.1 Git 2.31.2 Git 2.30.3 ...
Diffstat (limited to 'git-compat-util.h')
-rw-r--r--git-compat-util.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h
index 4d444dca27..58fd813bd0 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -436,6 +436,18 @@ static inline int git_offset_1st_component(const char *path)
#define is_valid_path(path) 1
#endif
+#ifndef is_path_owned_by_current_user
+static inline int is_path_owned_by_current_uid(const char *path)
+{
+ struct stat st;
+ if (lstat(path, &st))
+ return 0;
+ return st.st_uid == geteuid();
+}
+
+#define is_path_owned_by_current_user is_path_owned_by_current_uid
+#endif
+
#ifndef find_last_dir_sep
static inline char *git_find_last_dir_sep(const char *path)
{
@@ -525,6 +537,10 @@ void warning_errno(const char *err, ...) __attribute__((format (printf, 1, 2)));
#include <openssl/x509v3.h>
#endif /* NO_OPENSSL */
+#ifdef HAVE_OPENSSL_CSPRNG
+#include <openssl/rand.h>
+#endif
+
/*
* Let callers be aware of the constant return value; this can help
* gcc with -Wuninitialized analysis. We restrict this trick to gcc, though,