aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--win32/tools/tiny_libmaker.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/win32/tools/tiny_libmaker.c b/win32/tools/tiny_libmaker.c
index efda78a..d45ec70 100644
--- a/win32/tools/tiny_libmaker.c
+++ b/win32/tools/tiny_libmaker.c
@@ -203,8 +203,8 @@ int main(int argc, char **argv)
return 2;
}
- funcmax = 1000;
- afpos = realloc(NULL, funcmax); // 250 func
+ funcmax = 250;
+ afpos = realloc(NULL, funcmax * sizeof *afpos); // 250 func
memcpy(&arhdro.ar_mode, "100666", 6);
//iarg = 1;
@@ -264,11 +264,11 @@ int main(int argc, char **argv)
anames = realloc(anames, strpos+istrlen);
strcpy(anames + strpos, strtab + sym->st_name);
strpos += istrlen;
- if (funccnt >= funcmax) {
- afpos = realloc(NULL, funcmax+1000); // 250 func more
- funcmax += 1000;
+ if (++funccnt >= funcmax) {
+ funcmax += 250;
+ afpos = realloc(afpos, funcmax * sizeof *afpos); // 250 func more
}
- afpos[++funccnt] = fpos;
+ afpos[funccnt] = fpos;
}
}
}