diff options
author | Theodore Ts'o <tytso@mit.edu> | 1997-10-26 03:41:24 +0000 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 1997-10-26 03:41:24 +0000 |
commit | 7b4e4534f9361b21d3fafdd88a58f133decee38c (patch) | |
tree | db28490bbca280ffd8d74dcfa64ed7cba508cbbf /lib/ext2fs/ext2fs.h | |
parent | 78d8f90ffae45808096133c461ef1ee0e65de937 (diff) | |
download | android_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.tar.gz android_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.tar.bz2 android_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.zip |
Many files:
Added definition of ext2fs_get_mem, ext2fs_free_mem, and
ext2fs_resize_mem in ext2fs.h, and changed all library routines to use
these wrapper functions.
Diffstat (limited to 'lib/ext2fs/ext2fs.h')
-rw-r--r-- | lib/ext2fs/ext2fs.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h index 5b30b12f..f06f6dc7 100644 --- a/lib/ext2fs/ext2fs.h +++ b/lib/ext2fs/ext2fs.h @@ -721,6 +721,9 @@ extern int ext2fs_get_library_version(const char **ver_string, const char **date_string); /* inline functions */ +extern errcode_t ext2fs_get_mem(long size, void **ptr); +extern errcode_t ext2fs_free_mem(void **ptr); +extern errcode_t ext2fs_resize_mem(long size, void **ptr); extern void ext2fs_mark_super_dirty(ext2_filsys fs); extern void ext2fs_mark_changed(ext2_filsys fs); extern int ext2fs_test_changed(ext2_filsys fs); @@ -747,6 +750,43 @@ extern int ext2fs_group_of_ino(ext2_filsys fs, ino_t ino); #define _INLINE_ extern __inline__ #endif +#ifndef EXT2_CUSTOM_MEMORY_ROUTINES +/* + * Allocate memory + */ +_INLINE_ errcode_t ext2fs_get_mem(long size, void **ptr) +{ + *ptr = malloc(size); + if (!*ptr) + return EXT2_NO_MEMORY; + return 0; +} + +/* + * Free memory + */ +_INLINE_ errcode_t ext2fs_free_mem(void **ptr) +{ + free(*ptr); + *ptr = 0; + return 0; +} + +/* + * Resize memory + */ +_INLINE_ errcode_t ext2fs_resize_mem(long size, void **ptr) +{ + void *p; + + p = realloc(*ptr, size); + if (!p) + return EXT2_NO_MEMORY; + *ptr = p; + return 0; +} +#endif /* Custom memory routines */ + /* * Mark a filesystem superblock as dirty */ |