diff --git a/ndn-cpp/util/signed-blob.hpp b/ndn-cpp/util/signed-blob.hpp
index 25966b6..0b6cdda 100644
--- a/ndn-cpp/util/signed-blob.hpp
+++ b/ndn-cpp/util/signed-blob.hpp
@@ -76,7 +76,8 @@
   /**
    * Return the length of the signed portion of the immutable byte array, or 0 of the pointer to the array is null.
    */
-  unsigned int signedSize() const
+  unsigned int 
+  signedSize() const
   {
     if (*this)
       return signedPortionEndOffset_ - signedPortionBeginOffset_;
@@ -88,7 +89,8 @@
    * Return a const pointer to the first byte of the signed portion of the immutable byte array, or 0 if the 
    * pointer to the array is null.
    */
-  const unsigned char* signedBuf() const
+  const unsigned char*
+  signedBuf() const
   {
     if (*this)
       return &(*this)->front() + signedPortionBeginOffset_;
@@ -99,12 +101,14 @@
   /**
    * Return the offset in the array of the beginning of the signed portion.
    */  
-  unsigned int getSignedPortionBeginOffset() { return signedPortionBeginOffset_; }
+  unsigned int 
+  getSignedPortionBeginOffset() { return signedPortionBeginOffset_; }
 
   /**
    * Return the offset in the array of the end of the signed portion.
    */  
-  unsigned int getSignedPortionEndOffset() { return signedPortionEndOffset_; }
+  unsigned int 
+  getSignedPortionEndOffset() { return signedPortionEndOffset_; }
   
 private:
   unsigned int signedPortionBeginOffset_;
