summaryrefslogtreecommitdiff
path: root/Src
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
parent1f03591f216652824818d13730588d78226d569a (diff)
downloadzsh-99fa8b90b24b17536d95285c0b64d9b336570ff1.tar.gz
zsh-99fa8b90b24b17536d95285c0b64d9b336570ff1.zip
22585: fix zsh.exports
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) {