diff --git a/ndn-cpp/c/encoding/binary-xml-element-reader.c b/ndn-cpp/c/encoding/binary-xml-element-reader.c
index 110b496..b7c062e 100644
--- a/ndn-cpp/c/encoding/binary-xml-element-reader.c
+++ b/ndn-cpp/c/encoding/binary-xml-element-reader.c
@@ -18,10 +18,6 @@
       return error;
     if (self->structureDecoder.gotElementEnd) {
       // Got the remainder of an element.  Report to the caller.
-#if 0 // TODO: implement saving data parts.
-      this.dataParts.push(data.subarray(0, this.structureDecoder.offset));
-      var element = DataUtils.concatArrays(this.dataParts);
-#endif
       if (self->usePartialData) {
         // We have partial data from a previous call, so append this data and point to partialData.
         if ((error = ndn_DynamicUCharArray_set(&self->partialData, data, self->structureDecoder.offset, self->partialDataLength)))
@@ -42,7 +38,7 @@
       ndn_BinaryXmlStructureDecoder_init(&self->structureDecoder);
       if (dataLength == 0)
         // No more data in the packet.
-        return 0;
+        return NDN_ERROR_success;
             
       // else loop back to decode.
     }
@@ -57,7 +53,7 @@
         return error;
       self->partialDataLength += dataLength;
       
-      return 0;
+      return NDN_ERROR_success;
     }
   }      
 }
\ No newline at end of file
