introcude GNUNET_i2s2()
authorChristian Grothoff <christian@grothoff.org>
Sun, 22 Jan 2017 11:21:24 +0000 (12:21 +0100)
committerChristian Grothoff <christian@grothoff.org>
Sun, 22 Jan 2017 11:21:24 +0000 (12:21 +0100)
src/include/gnunet_common.h
src/util/common_logging.c

index 9ad60471177b8ea9455d72f58a2ffc5ebaac0184..fdcae66fa19e9cc71dd6bc4e1bf89d03b108fa26 100644 (file)
@@ -610,6 +610,22 @@ const char *
 GNUNET_i2s (const struct GNUNET_PeerIdentity *pid);
 
 
+/**
+ * @ingroup logging
+ * Convert a peer identity to a string (for printing debug messages).
+ * This is one of the very few calls in the entire API that is
+ * NOT reentrant!  Identical to #GNUNET_i2s(), except that another
+ * buffer is used so both #GNUNET_i2s() and #GNUNET_i2s2() can be
+ * used within the same log statement.
+ *
+ * @param pid the peer identity
+ * @return string form of the pid; will be overwritten by next
+ *         call to #GNUNET_i2s().
+ */
+const char *
+GNUNET_i2s2 (const struct GNUNET_PeerIdentity *pid);
+
+
 /**
  * @ingroup logging
  * Convert a peer identity to a string (for printing debug messages).
index ce229826ef4b1829a69a4589dc9db2c7595a3894..dad5d3776d762bd6e5386f8a59ec1a16302890bf 100644 (file)
@@ -1217,6 +1217,31 @@ GNUNET_i2s (const struct GNUNET_PeerIdentity *pid)
 }
 
 
+/**
+ * Convert a peer identity to a string (for printing debug messages).
+ * This is one of the very few calls in the entire API that is
+ * NOT reentrant!  Identical to #GNUNET_i2s(), except that another
+ * buffer is used so both #GNUNET_i2s() and #GNUNET_i2s2() can be
+ * used within the same log statement.
+ *
+ * @param pid the peer identity
+ * @return string form of the pid; will be overwritten by next
+ *         call to #GNUNET_i2s.
+ */
+const char *
+GNUNET_i2s2 (const struct GNUNET_PeerIdentity *pid)
+{
+  static char buf[256];
+  char *ret;
+
+  ret = GNUNET_CRYPTO_eddsa_public_key_to_string (&pid->public_key);
+  strcpy (buf, ret);
+  GNUNET_free (ret);
+  buf[4] = '\0';
+  return buf;
+}
+
+
 /**
  * Convert a peer identity to a string (for printing debug messages).
  * This is one of the very few calls in the entire API that is