summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--support/popt.c9
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;