You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.4 KiB
49 lines
1.4 KiB
Index: popt.c |
|
--- popt.c.orig 2009-04-12 20:14:38 +0200 |
|
+++ popt.c 2009-04-12 21:32:27 +0200 |
|
@@ -520,6 +520,11 @@ |
|
} |
|
|
|
if (con->leftovers != NULL && con->numLeftovers > 0) { |
|
+#if defined(OPENPKG) |
|
+ /* Revert back to the old behaviour of passing to "exec" programs an |
|
+ extra "--" argument to clearly separate options and arguments. */ |
|
+ argv[argc++] = "--"; |
|
+#endif |
|
memcpy(argv + argc, con->leftovers, sizeof(*argv) * con->numLeftovers); |
|
argc += con->numLeftovers; |
|
} |
|
@@ -697,10 +702,19 @@ |
|
/*@switchbreak@*/ break; |
|
#endif |
|
case '!': |
|
+#if defined(OPENPKG) |
|
+ /* allow standard "!#:+" (first argument is expanded multiple times) |
|
+ and non-standard "!#:*" (all arguments are expanded in sequence) */ |
|
+ if (!(s[0] == '#' && s[1] == ':' && (s[2] == '+' || s[2] == '*'))) |
|
+#else |
|
if (!(s[0] == '#' && s[1] == ':' && s[2] == '+')) |
|
+#endif |
|
/*@switchbreak@*/ break; |
|
- /* XXX Make sure that findNextArg deletes only next arg. */ |
|
+#if defined(OPENPKG) |
|
+ if (a == NULL || s[2] == '*') { |
|
+#else |
|
if (a == NULL) { |
|
+#endif |
|
if ((a = findNextArg(con, 1U, 1)) == NULL) |
|
/*@switchbreak@*/ break; |
|
} |
|
Index: popthelp.c |
|
--- popthelp.c.orig 2009-04-12 20:14:38 +0200 |
|
+++ popthelp.c 2009-04-12 21:32:27 +0200 |
|
@@ -15,7 +15,9 @@ |
|
#include <sys/ioctl.h> |
|
#endif |
|
|
|
+#if !defined(OPENPKG) |
|
#define POPT_WCHAR_HACK |
|
+#endif |
|
#ifdef POPT_WCHAR_HACK |
|
#include <wchar.h> /* for mbsrtowcs */ |
|
/*@access mbstate_t @*/
|
|
|