]> sigrok.org Git - libsigrok.git/commitdiff
Add sr_spew/SR_LOG_SPEW for even more debug output.
authorUwe Hermann <redacted>
Sun, 8 May 2011 18:26:22 +0000 (20:26 +0200)
committerUwe Hermann <redacted>
Sun, 8 May 2011 23:03:21 +0000 (01:03 +0200)
This is meant for really extensive debug output which can slow down
operation significantly and should thus only be enabled if really needed.

log.c
sigrok-internal.h
sigrok.h

diff --git a/log.c b/log.c
index e8cebb1bda544c21cc5f97cd87571b299bb19013..02eb9aa31ad321029f687f996e564768d8fd412d 100644 (file)
--- a/log.c
+++ b/log.c
@@ -32,12 +32,12 @@ static int sr_loglevel = SR_LOG_WARN; /* Show errors+warnings per default. */
  * and so on) libsigrok will output. Using SR_LOG_NONE disables all messages.
  *
  * @param loglevel The loglevel to set (SR_LOG_NONE, SR_LOG_ERR, SR_LOG_WARN,
- *                 SR_LOG_INFO, or SR_LOG_DBG).
+ *                 SR_LOG_INFO, SR_LOG_DBG, or SR_LOG_SPEW).
  * @return SR_OK upon success, SR_ERR_ARG upon invalid loglevel.
  */
 int sr_set_loglevel(int loglevel)
 {
-       if (loglevel < SR_LOG_NONE || loglevel > SR_LOG_DBG) {
+       if (loglevel < SR_LOG_NONE || loglevel > SR_LOG_SPEW) {
                sr_err("log: %s: invalid loglevel %d", __func__, loglevel);
                return SR_ERR_ARG;
        }
@@ -85,6 +85,18 @@ int sr_log(int loglevel, const char *format, ...)
        return ret;
 }
 
+int sr_spew(const char *format, ...)
+{
+       int ret;
+       va_list args;
+
+       va_start(args, format);
+       ret = sr_logv(SR_LOG_SPEW, format, args);
+       va_end(args);
+
+       return ret;
+}
+
 int sr_dbg(const char *format, ...)
 {
        int ret;
index db8aef61378c354d89b4ca2a9d41b202ae8fead6..d9352f62a6c75bbf057de713be5b8a1bd4abb833 100644 (file)
@@ -42,6 +42,7 @@ int load_hwplugins(void);
 /*--- log.c -----------------------------------------------------------------*/
 
 int sr_log(int loglevel, const char *format, ...);
+int sr_spew(const char *format, ...);
 int sr_dbg(const char *format, ...);
 int sr_info(const char *format, ...);
 int sr_warn(const char *format, ...);
index a33cd7f487be8dd3a7ff2d76b571d8a3ea4f2537..898785612e60dd3a696fbd195c66d564a478cda1 100644 (file)
--- a/sigrok.h
+++ b/sigrok.h
@@ -73,6 +73,7 @@ extern "C" {
 #define SR_LOG_WARN    2
 #define SR_LOG_INFO    3
 #define SR_LOG_DBG     4
+#define SR_LOG_SPEW    5
 
 typedef int (*sr_receive_data_callback) (int fd, int revents, void *user_data);