aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libiberty/concat.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 22bf58c..13bdd39 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,7 @@
+2001-09-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * concat.c (reconcat): Fix for traditional C.
+
2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* concat.c (reconcat): New function.
diff --git a/libiberty/concat.c b/libiberty/concat.c
index 136e8be..cf026cf 100644
--- a/libiberty/concat.c
+++ b/libiberty/concat.c
@@ -188,10 +188,9 @@ reconcat VPARAMS ((char *optr, const char *first, ...))
VA_FIXEDARG (args, char *, optr);
VA_FIXEDARG (args, const char *, first);
vconcat_copy (newstr, first, args);
- VA_CLOSE (args);
-
- if (optr)
+ if (optr) /* Done before VA_CLOSE so optr stays in scope for K&R C. */
free (optr);
+ VA_CLOSE (args);
return newstr;
}