summaryrefslogtreecommitdiff
path: root/ace/CDR_Stream.i
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-02-27 04:23:30 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-02-27 04:23:30 +0000
commit4e78e0e7a2ca80b771ea09105e90e263c031ee2d (patch)
treebf1f2c31c530c93cf6e43315a86f4efe252b335e /ace/CDR_Stream.i
parente7cb82759a9ce6e2a604d28ceefec0a89ba75992 (diff)
downloadATCD-4e78e0e7a2ca80b771ea09105e90e263c031ee2d.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/CDR_Stream.i')
-rw-r--r--ace/CDR_Stream.i34
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;
+}
+