diff options
author | Tristan Gingold <gingold@adacore.com> | 2010-04-16 14:23:41 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2010-04-16 14:23:41 +0000 |
commit | a96f4e9a30f4f99085f49a9c55b2d783cb0cf317 (patch) | |
tree | bdbddf4b6ffc890249831aa76c7244d8d6e11145 /bfd/vms-lib.c | |
parent | 7b6b00aad65506010cb5b10e880df977a255b007 (diff) | |
download | binutils-redhat-a96f4e9a30f4f99085f49a9c55b2d783cb0cf317.tar.gz |
2010-04-16 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo.
(_bfd_vms_get_object_record): Always assume there is a pad byte
for alignment.
* vms-lib.c: Add a few comments.
Diffstat (limited to 'bfd/vms-lib.c')
-rw-r--r-- | bfd/vms-lib.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/vms-lib.c b/bfd/vms-lib.c index 4f7da81d79..d05fab7081 100644 --- a/bfd/vms-lib.c +++ b/bfd/vms-lib.c @@ -557,6 +557,7 @@ vms_lib_bread_raw (struct bfd *abfd, void *buf, file_ptr nbytes) if (!vms_lib_read_block (abfd)) return -1; + /* Do not read past the data block, do not read more than requested. */ l = DATA__LENGTH - vec->blk_off; if (l > nbytes) l = nbytes; @@ -564,11 +565,13 @@ vms_lib_bread_raw (struct bfd *abfd, void *buf, file_ptr nbytes) return 0; if (buf != NULL) { + /* Really read into BUF. */ if (bfd_bread (buf, l, abfd->my_archive) != l) return -1; } else { + /* Make as if we are reading. */ if (bfd_seek (abfd->my_archive, l, SEEK_CUR) != 0) return -1; } @@ -818,6 +821,7 @@ vms_lib_bread (struct bfd *abfd, void *buf, file_ptr nbytes) if (vec->rec_rem == 0) { + /* End of record reached. */ if (bfd_libdata (abfd->my_archive)->kind == vms_lib_txt) { if ((vec->rec_len & 1) == 1 |