summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorClaudio Fontana <sick_soul@users.sourceforge.net>2006-07-22 00:41:28 +0000
committerClaudio Fontana <sick_soul@users.sourceforge.net>2006-07-22 00:41:28 +0000
commitd2877acc14917f127c982a3c176dcd3eb3dabb4f (patch)
tree31efdd425a3e83dacb07bc74edb66de04d7713bd /src
parent4902bd18cc771b4b8674ac27bec3d473cdf84cf2 (diff)
downloadidutils-d2877acc14917f127c982a3c176dcd3eb3dabb4f.tar.gz
idutils-d2877acc14917f127c982a3c176dcd3eb3dabb4f.tar.bz2
idutils-d2877acc14917f127c982a3c176dcd3eb3dabb4f.zip
* fix sbrk portability issue
Diffstat (limited to 'src')
-rw-r--r--src/mkid.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/mkid.c b/src/mkid.c
index c8566b0..8a64530 100644
--- a/src/mkid.c
+++ b/src/mkid.c
@@ -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);