From a23cdb0e1cd20e3697494cf1e469fad0edfb13a3 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 8 Feb 2010 09:56:41 -0800 Subject: [PATCH] buffer: add decode_base64 method --- src/common/buffer.cc | 9 +++++++++ src/include/buffer.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/common/buffer.cc b/src/common/buffer.cc index a17b451291c47..da17022295478 100644 --- a/src/common/buffer.cc +++ b/src/common/buffer.cc @@ -32,6 +32,15 @@ void buffer::list::encode_base64(buffer::list& o) o.push_back(bp); } +void buffer::list::decode_base64(buffer::list& e) +{ + bufferptr bp(e.length() * 3 / 4 + 1); + int l = ceph_unarmor(bp.c_str(), e.c_str(), e.c_str() + e.length()); + assert(l <= (int)bp.length()); + bp.set_length(l); + push_back(bp); +} + int buffer::list::read_file(const char *fn, bool silent) { diff --git a/src/include/buffer.h b/src/include/buffer.h index 936650986b4bf..a1656e0c145a5 100644 --- a/src/include/buffer.h +++ b/src/include/buffer.h @@ -1125,6 +1125,7 @@ public: } void encode_base64(list& o); + void decode_base64(list& o); void hexdump(std::ostream &out) const; int read_file(const char *fn, bool silent=false); -- 2.39.5