summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-09-12 12:26:41 -0700
committerYehuda Sadeh <yehuda@inktank.com>2013-09-12 14:28:57 -0700
commit56bcb86b19370bb14d47b56707953165bee7c5a9 (patch)
tree965104193bef47a57a1b37e75f8e7db6fce2f79f
parent31e3a51e933429d286104fe077e98ea883437ad6 (diff)
downloadceph-56bcb86b19370bb14d47b56707953165bee7c5a9.tar.gz
bufferlist: don't use list::size()
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
-rw-r--r--src/common/buffer.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/common/buffer.cc b/src/common/buffer.cc
index 0424887139e..24a61724c8e 100644
--- a/src/common/buffer.cc
+++ b/src/common/buffer.cc
@@ -990,11 +990,14 @@ void buffer::list::rebuild_page_aligned()
*/
char *buffer::list::c_str()
{
- if (_buffers.size() == 0)
+ if (_buffers.empty())
return 0; // no buffers
- if (_buffers.size() > 1)
+
+ std::list<ptr>::const_iterator iter = _buffers.begin();
+ iter++;
+
+ if (iter != _buffers.end())
rebuild();
- assert(_buffers.size() == 1);
return _buffers.front().c_str(); // good, we're already contiguous.
}