diff options
-rw-r--r-- | support/popt.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/support/popt.c b/support/popt.c index f1469244..a829ba12 100644 --- a/support/popt.c +++ b/support/popt.c @@ -308,9 +308,12 @@ int poptGetNextOpt(poptContext con) { } /* Make a copy we can hack at */ - localOptString = optString = - strcpy(alloca(strlen(origOptString) + 1), - origOptString); +#ifdef strdupa + localOptString = optString = strdupa (origOptString); +#else + localOptString = optString = alloca(strlen(origOptString) + 1); + strcpy(optString, origOptString); +#endif if (!optString[0]) return POPT_ERROR_BADOPT; |