summaryrefslogtreecommitdiff
path: root/stagit.c
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2018-03-26 20:08:19 +0200
committerHiltjo Posthuma <hiltjo@codemadness.org>2018-03-26 20:08:19 +0200
commit3c07e52f98b0f49250c3de026b31202b426eb45a (patch)
treedcc70314d055cbe7c8115fe4e6d64432236294ab /stagit.c
parentf53f481b3f02431b151ae9953998d7c7b3138585 (diff)
pledge after git_libgit2_init
this is because libgit uses curl which uses some initialization checks, namely an IPv6 check which creates a socket.
Diffstat (limited to 'stagit.c')
-rw-r--r--stagit.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/stagit.c b/stagit.c
index 6c9b5c0..e1c8621 100644
--- a/stagit.c
+++ b/stagit.c
@@ -1027,9 +1027,6 @@ main(int argc, char *argv[])
size_t n;
int i, fd;
- if (pledge("stdio rpath wpath cpath fattr", NULL) == -1)
- err(1, "pledge");
-
for (i = 1; i < argc; i++) {
if (argv[i][0] != '-') {
if (repodir)
@@ -1052,8 +1049,6 @@ main(int argc, char *argv[])
usage(argv[0]);
}
}
- if (!cachefile && pledge("stdio rpath wpath cpath", NULL) == -1)
- err(1, "pledge");
if (!repodir)
usage(argv[0]);
@@ -1062,6 +1057,14 @@ main(int argc, char *argv[])
git_libgit2_init();
+ if (cachefile) {
+ if (pledge("stdio rpath wpath cpath fattr", NULL) == -1)
+ err(1, "pledge");
+ } else {
+ if (pledge("stdio rpath wpath cpath", NULL) == -1)
+ err(1, "pledge");
+ }
+
if (git_repository_open_ext(&repo, repodir,
GIT_REPOSITORY_OPEN_NO_SEARCH, NULL) < 0) {
e = giterr_last();