]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
buffer: implement ptr::end_c_str()
authorSage Weil <sage@redhat.com>
Tue, 13 Sep 2016 18:01:51 +0000 (14:01 -0400)
committerSage Weil <sage@redhat.com>
Sun, 16 Oct 2016 14:32:49 +0000 (10:32 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/common/buffer.cc
src/include/buffer.h

index 59f0fde44dd3ac6516cd9b57ba96b3024f2126ac..98ce67c7e1e6ea6988dc1152eb085ad2b6126720 100644 (file)
@@ -900,6 +900,18 @@ static simple_spinlock_t buffer_debug_lock = SIMPLE_SPINLOCK_INITIALIZER;
       buffer_c_str_accesses.inc();
     return _raw->get_data() + _off;
   }
+  const char *buffer::ptr::end_c_str() const {
+    assert(_raw);
+    if (buffer_track_c_str)
+      buffer_c_str_accesses.inc();
+    return _raw->get_data() + _off + _len;
+  }
+  char *buffer::ptr::end_c_str() {
+    assert(_raw);
+    if (buffer_track_c_str)
+      buffer_c_str_accesses.inc();
+    return _raw->get_data() + _off + _len;
+  }
 
   unsigned buffer::ptr::unused_tail_length() const
   {
index e900fc7ca2655924d0a28272641b0800387663bb..f5b2826b85b8a1dd78a8cc89d0144672f7964890 100644 (file)
@@ -209,6 +209,8 @@ namespace buffer CEPH_BUFFER_API {
     raw *get_raw() const { return _raw; }
     const char *c_str() const;
     char *c_str();
+    const char *end_c_str() const;
+    char *end_c_str();
     unsigned length() const { return _len; }
     unsigned offset() const { return _off; }
     unsigned start() const { return _off; }