summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/makepro.awk8
-rw-r--r--Src/utils.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/Src/makepro.awk b/Src/makepro.awk
index 5def40203..0498c1545 100644
--- a/Src/makepro.awk
+++ b/Src/makepro.awk
@@ -91,6 +91,7 @@ BEGIN {
     # Handle each declarator.
     if (match(line, /VA_ALIST/)) {
 	# Already has VARARGS handling.
+
 	# Put parens etc. back
 	gsub(/@[{]/, "((", line)
 	gsub(/@}/, "))", line)
@@ -105,6 +106,13 @@ BEGIN {
 	if(locality ~ /E/)
 	    dtype = "extern " dtype
 
+	if (match(line, /[_0-9A-Za-z]+\(VA_ALIST/))
+	  dnam = substr(line, RSTART, RLENGTH-9)
+
+	# If this is exported, add it to the exported symbol list.
+	if (exported)
+	    printf "X%s\n", dnam
+
 	printf "%s%s %s\n", locality, dtype, line
     } else {
 	while(match(line, /^[^,]*,/)) {
diff --git a/Src/utils.c b/Src/utils.c
index 21b722f6a..0dcf4e59b 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -3877,7 +3877,7 @@ mb_width(const char *s)
  */
 
 /**/
-int
+mod_export int
 mb_metacharlenconv(const char *s, wint_t *wcp)
 {
     char inchar;
@@ -3980,7 +3980,7 @@ mb_metastrlen(char *ptr)
 /* Simple replacement for mb_metacharlenconv */
 
 /**/
-int
+mod_export int
 metacharlenconv(char *x, int *c)
 {
     if (*x == Meta) {