about summary refs log tree commit diff
path: root/Src/makepro.awk
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2006-08-04 11:42:20 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2006-08-04 11:42:20 +0000
commit99fa8b90b24b17536d95285c0b64d9b336570ff1 (patch)
treee044258f7be9373d74cd7e0efb63e4d0104c436c /Src/makepro.awk
parent1f03591f216652824818d13730588d78226d569a (diff)
downloadzsh-99fa8b90b24b17536d95285c0b64d9b336570ff1.tar.gz
zsh-99fa8b90b24b17536d95285c0b64d9b336570ff1.tar.xz
zsh-99fa8b90b24b17536d95285c0b64d9b336570ff1.zip
22585: fix zsh.exports
Diffstat (limited to 'Src/makepro.awk')
-rw-r--r--Src/makepro.awk8
1 files changed, 8 insertions, 0 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, /^[^,]*,/)) {