summaryrefslogtreecommitdiff
path: root/system/pkgconf/personality.patch
diff options
context:
space:
mode:
Diffstat (limited to 'system/pkgconf/personality.patch')
-rw-r--r--system/pkgconf/personality.patch55
1 files changed, 0 insertions, 55 deletions
diff --git a/system/pkgconf/personality.patch b/system/pkgconf/personality.patch
deleted file mode 100644
index e7ff9ad9a..000000000
--- a/system/pkgconf/personality.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From d926e75b345a6948e4e976828d3331cd7f0db660 Mon Sep 17 00:00:00 2001
-From: Emil Renner Berthing <esmil@mailme.dk>
-Date: Wed, 6 Mar 2019 16:03:32 +0100
-Subject: [PATCH] main: fix personalities when argv[0] contains path
-
----
- cli/main.c | 31 ++++++++++++++++++++-----------
- 1 file changed, 20 insertions(+), 11 deletions(-)
-
-diff --git a/cli/main.c b/cli/main.c
-index b52cc85..caa2525 100644
---- a/cli/main.c
-+++ b/cli/main.c
-@@ -740,21 +740,30 @@ dump_personality(const pkgconf_cross_personality_t *p)
- static pkgconf_cross_personality_t *
- deduce_personality(char *argv[])
- {
-- char *workbuf = strdup(argv[0]), *i;
-- pkgconf_cross_personality_t *out = pkgconf_cross_personality_default(), *deduced;
-+ const char *argv0 = argv[0];
-+ char *i, *prefix;
-+ pkgconf_cross_personality_t *out;
-+
-+ i = strrchr(argv0, '/');
-+ if (i != NULL)
-+ argv0 = i + 1;
-+
-+#if defined(_WIN32) || defined(_WIN64)
-+ i = strrchr(argv0, '\\');
-+ if (i != NULL)
-+ argv0 = i + 1;
-+#endif
-
-- i = strstr(workbuf, "-pkg");
-+ i = strstr(argv0, "-pkg");
- if (i == NULL)
-- goto finish;
--
-- *i = 0;
-+ return pkgconf_cross_personality_default();
-
-- deduced = pkgconf_cross_personality_find(workbuf);
-- if (deduced != NULL)
-- out = deduced;
-+ prefix = strndup(argv0, i - argv0);
-+ out = pkgconf_cross_personality_find(prefix);
-+ free(prefix);
-+ if (out == NULL)
-+ return pkgconf_cross_personality_default();
-
--finish:
-- free(workbuf);
- return out;
- }
-