diff --git a/src/ccnx-name.cpp b/src/ccnx-name.cpp
index 28761dd..a59cf8a 100644
--- a/src/ccnx-name.cpp
+++ b/src/ccnx-name.cpp
@@ -254,7 +254,7 @@
 Name::getPartialName(int start, int n) const
 {
   int size = m_comps.size();
-  if (start < 0 || start >= size || n > 0 && start + n > size)
+  if (start < 0 || start >= size || (n > 0 && start + n > size))
   {
     stringstream ss(stringstream::out);
     ss << "getPartialName() parameter out of range! ";
diff --git a/src/ccnx-tunnel.cpp b/src/ccnx-tunnel.cpp
index 6a7dd29..f428481 100644
--- a/src/ccnx-tunnel.cpp
+++ b/src/ccnx-tunnel.cpp
@@ -34,6 +34,8 @@
   Closure *cp = new TunnelClosure(closure, this, interest);
   CcnxWrapper::sendInterest(tunneledInterest, cp, selectors);
   delete cp;
+
+  return 0;
 }
 
 void
diff --git a/src/ccnx-wrapper.cpp b/src/ccnx-wrapper.cpp
index 887f8ae..b6902a8 100644
--- a/src/ccnx-wrapper.cpp
+++ b/src/ccnx-wrapper.cpp
@@ -164,7 +164,7 @@
 }
 
 Bytes
-CcnxWrapper::createContentObject(const Name  &name, const unsigned char *buf, size_t len, int freshness)
+CcnxWrapper::createContentObject(const Name  &name, const void *buf, size_t len, int freshness)
 {
   CcnxCharbufPtr ptr = name.toCcnxCharbuf();
   ccn_charbuf *pname = ptr->getBuf();
@@ -212,7 +212,7 @@
 int
 CcnxWrapper::publishData (const Name &name, const Bytes &content, int freshness)
 {
-  publishData(name, head(content), content.size(), freshness);
+  return publishData(name, head(content), content.size(), freshness);
 }
 
 
@@ -348,6 +348,8 @@
   }
 
   m_registeredInterests.insert(pair<Name, InterestCallback>(prefix, interestCallback));
+
+  return ret;
 }
 
 void
