Added ndn_decodeOptionalBinaryXMLPublisherPublicKeyDigest
diff --git a/ndn-cpp/c/encoding/BinaryXMLInterest.c b/ndn-cpp/c/encoding/BinaryXMLInterest.c
index c7e4177..a6e4ea8 100644
--- a/ndn-cpp/c/encoding/BinaryXMLInterest.c
+++ b/ndn-cpp/c/encoding/BinaryXMLInterest.c
@@ -203,18 +203,10 @@
       (decoder, ndn_BinaryXML_DTag_MaxSuffixComponents, &interest->maxSuffixComponents))
     return error;
   
-  int gotExpectedTag;
-  if (error = ndn_BinaryXMLDecoder_peekDTag(decoder, ndn_BinaryXML_DTag_PublisherPublicKeyDigest, &gotExpectedTag))
+  if (error = ndn_decodeOptionalBinaryXMLPublisherPublicKeyDigest(&interest->publisherPublicKeyDigest, decoder))
     return error;
-  if (gotExpectedTag) {
-    if (error = ndn_decodeBinaryXMLPublisherPublicKeyDigest(&interest->publisherPublicKeyDigest, decoder))
-      return error;
-  }
-  else {
-    interest->publisherPublicKeyDigest.publisherPublicKeyDigest = 0;
-    interest->publisherPublicKeyDigest.publisherPublicKeyDigestLength = 0;
-  }
   
+  int gotExpectedTag;
   if (error = ndn_BinaryXMLDecoder_peekDTag(decoder, ndn_BinaryXML_DTag_Exclude, &gotExpectedTag))
     return error;
   if (gotExpectedTag) {