/* Low-level I/O routines for BFDs.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
Written by Cygnus Support.
. int (*bclose) (struct bfd *abfd);
. int (*bflush) (struct bfd *abfd);
. int (*bstat) (struct bfd *abfd, struct stat *sb);
-. void* (*bmmap) (struct bfd *abfd, void *addr, bfd_size_type len,
+. {* Just like mmap: (void*)-1 on failure, mmapped address on success. *}
+. void *(*bmmap) (struct bfd *abfd, void *addr, bfd_size_type len,
. int prot, int flags, file_ptr offset);
.};
struct bfd_in_memory *bim;
bfd_size_type get;
- bim = abfd->iostream;
+ bim = (struct bfd_in_memory *) abfd->iostream;
get = size;
if (abfd->where + get > bim->size)
{
if ((abfd->flags & BFD_IN_MEMORY) != 0)
{
- struct bfd_in_memory *bim = abfd->iostream;
+ struct bfd_in_memory *bim = (struct bfd_in_memory *) abfd->iostream;
size = (size_t) size;
if (abfd->where + size > bim->size)
newsize = (bim->size + 127) & ~(bfd_size_type) 127;
if (newsize > oldsize)
{
- bim->buffer = bfd_realloc_or_free (bim->buffer, newsize);
+ bim->buffer = (bfd_byte *) bfd_realloc_or_free (bim->buffer,
+ newsize);
if (bim->buffer == NULL)
{
bim->size = 0;
{
struct bfd_in_memory *bim;
- bim = abfd->iostream;
+ bim = (struct bfd_in_memory *) abfd->iostream;
if (direction == SEEK_SET)
abfd->where = position;
newsize = (bim->size + 127) & ~(bfd_size_type) 127;
if (newsize > oldsize)
{
- bim->buffer = bfd_realloc_or_free (bim->buffer, newsize);
+ bim->buffer = (bfd_byte *) bfd_realloc_or_free (bim->buffer,
+ newsize);
if (bim->buffer == NULL)
{
bim->size = 0;