[tor-commits] [tor/master] Add minimal implementations of functions Rust needs for logging

nickm at torproject.org nickm at torproject.org
Mon Mar 19 21:20:46 UTC 2018


commit 719db28f54ad1fa957999f2a6256e07bdb412e4f
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Nov 20 16:52:55 2017 -0500

    Add minimal implementations of functions Rust needs for logging
---
 src/common/log.c    | 24 ++++++++++++++++++++++++
 src/common/torlog.h |  4 ++++
 2 files changed, 28 insertions(+)

diff --git a/src/common/log.c b/src/common/log.c
index ac6d07a92..608ffea95 100644
--- a/src/common/log.c
+++ b/src/common/log.c
@@ -225,6 +225,30 @@ log_set_application_name(const char *name)
   appname = name ? tor_strdup(name) : NULL;
 }
 
+/** Return true if some of the running logs might be interested in a log
+ * message of the given severity in the given domains. If this function
+ * returns true, the log message might be ignored anyway, but if it returns
+ * false, it is definitely_ safe not to log the message. */
+int
+log_message_is_interesting(int severity, log_domain_mask_t domain)
+{
+  (void) domain;
+  return (severity <= log_global_min_severity_);
+}
+
+/**
+ * As tor_log, but takes an optional function name, and does not treat its
+ * <b>string</b> as a printf format.
+ *
+ * For use by Rust integration.
+ */
+void
+tor_log_string(int severity, log_domain_mask_t domain,
+               const char *function, const char *string)
+{
+  log_fn_(severity, domain, function, "%s", string);
+}
+
 /** Log time granularity in milliseconds. */
 static int log_time_granularity = 1;
 
diff --git a/src/common/torlog.h b/src/common/torlog.h
index b7d033adb..be8a39a1b 100644
--- a/src/common/torlog.h
+++ b/src/common/torlog.h
@@ -189,6 +189,10 @@ void log_fn_ratelim_(struct ratelim_t *ratelim, int severity,
                      const char *format, ...)
   CHECK_PRINTF(5,6);
 
+int log_message_is_interesting(int severity, log_domain_mask_t domain);
+void tor_log_string(int severity, log_domain_mask_t domain,
+                    const char *function, const char *string);
+
 #if defined(__GNUC__) && __GNUC__ <= 3
 
 /* These are the GCC varidaic macros, so that older versions of GCC don't





More information about the tor-commits mailing list