diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-02-27 04:23:30 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-02-27 04:23:30 +0000 |
commit | 4e78e0e7a2ca80b771ea09105e90e263c031ee2d (patch) | |
tree | bf1f2c31c530c93cf6e43315a86f4efe252b335e /ace/CDR_Stream.i | |
parent | e7cb82759a9ce6e2a604d28ceefec0a89ba75992 (diff) | |
download | ATCD-4e78e0e7a2ca80b771ea09105e90e263c031ee2d.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/CDR_Stream.i')
-rw-r--r-- | ace/CDR_Stream.i | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/ace/CDR_Stream.i b/ace/CDR_Stream.i index 7f6e3b79ea7..7b92b59fc63 100644 --- a/ace/CDR_Stream.i +++ b/ace/CDR_Stream.i @@ -376,7 +376,7 @@ ACE_OutputCDR::adjust (size_t size, size_t align, char*& buf) { - buf = ptr_align_binary (this->current_->wr_ptr(), + buf = ptr_align_binary (this->current_->wr_ptr (), align); char *end = buf + size; @@ -425,6 +425,21 @@ ACE_OutputCDR::do_byte_swap (void) const return this->do_byte_swap_; } +ACE_INLINE int +ACE_OutputCDR::align_write_ptr (size_t alignment) +{ + char *buf = ptr_align_binary (this->current_->wr_ptr (), + alignment); + + if (buf <= this->current_->end ()) + { + this->current_->wr_ptr (buf); + return 0; + } + + return this->grow_and_adjust (0, alignment, buf); +} + // **************************************************************** ACE_INLINE CDR::Boolean @@ -1139,3 +1154,20 @@ ACE_InputCDR::do_byte_swap (void) const { return this->do_byte_swap_; } + +ACE_INLINE int +ACE_InputCDR::align_read_ptr (size_t alignment) +{ + char *buf = ptr_align_binary (this->rd_ptr (), + alignment); + + if (buf <= this->end ()) + { + this->start_.rd_ptr (buf); + return 0; + } + + this->good_bit_ = 0; + return -1; +} + |