diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | src/mkid.c | 21 |
3 files changed, 31 insertions, 10 deletions
@@ -1,5 +1,15 @@ 2006-07-22 Claudio Fontana <claudio@gnu.org> + * configure.ac: add check for sbrk + * src/mkid.c (get_process_heap): new function. + Calls sbrk() if available, or NULL if unsupported. + + * src/mkid.c (report_statistics): (nochange) + the reported heap usage is 0+0 if sbrk is + not available. + +2006-07-22 Claudio Fontana <claudio@gnu.org> + upgraded gnulib. 2006-07-22 Claudio Fontana <claudio@gnu.org> diff --git a/configure.ac b/configure.ac index 8efded7..c0bc3c3 100644 --- a/configure.ac +++ b/configure.ac @@ -27,10 +27,12 @@ AC_FUNC_ALLOCA AM_GNU_GETTEXT -# Use HAVE_LINK as discriminator between Unix systems and others -AC_CHECK_FUNCS(link, - [AC_MSG_NOTICE([assuming Unix conventions])], - [AC_MSG_NOTICE([assuming non-Unix])]) +# check functions + +# if HAVE_LINK, then in the code we look for file aliases +# if HAVE_SBRK, then we can generate statistics on memory usage + +AC_CHECK_FUNCS([link sbrk]) AM_PATH_LISPDIR @@ -179,15 +179,24 @@ The following arguments apply to the language-specific scanners:\n\ exit (0); } -char const *heap_initial; -char const *heap_after_walk; -char const *heap_after_scan; +void *heap_initial; +void *heap_after_walk; +void *heap_after_scan; + +static void *get_process_heap(void) +{ +#if HAVE_SBRK + return sbrk(0); +#else + return 0; +#endif +} int main (int argc, char **argv) { program_name = argv[0]; - heap_initial = (char const *) sbrk (0); + heap_initial = get_process_heap(); idh.idh_file_name = DEFAULT_ID_FILE_NAME; #if ENABLE_NLS @@ -288,7 +297,7 @@ main (int argc, char **argv) if (flink) walk_flink (flink, 0); } - heap_after_walk = (char const *) sbrk (0); + heap_after_walk = get_process_heap(); mark_member_file_links (&idh); log_8_member_files = ceil_log_8 (idh.idh_member_file_table.ht_fill); @@ -313,7 +322,7 @@ main (int argc, char **argv) if (idh.idh_member_file_table.ht_fill) { scan_files (&idh); - heap_after_scan = sbrk (0); + heap_after_scan = get_process_heap(); free_summary_tokens (); free (token_table.ht_vec); |