From 601d73c9ecee16426d53872b949f3069a3879423 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Tue, 5 Apr 2022 15:07:08 +0200 Subject: [PATCH] Add `log_debug` --- cmd/main.c | 5 +++++ hw/v4l2.c | 2 ++ hw/v4l2.h | 8 +++++--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cmd/main.c b/cmd/main.c index 0ac58b9..14a3ec0 100644 --- a/cmd/main.c +++ b/cmd/main.c @@ -25,6 +25,11 @@ int main(int argc, char *argv[]) camera_t camera; int http_fd = -1; int ret = -1; + const char *env; + + if (env = getenv("DEBUG")) { + log_debug = strstr(env, "1") ? 1 : 0; + } camera_init(&camera); diff --git a/hw/v4l2.c b/hw/v4l2.c index 964b6f5..396e729 100644 --- a/hw/v4l2.c +++ b/hw/v4l2.c @@ -1,5 +1,7 @@ #include "hw/v4l2.h" +int log_debug = 0; + int xioctl(const char *name, int fd, int request, void *arg) { int retries = XIOCTL_RETRIES; diff --git a/hw/v4l2.h b/hw/v4l2.h index 5824554..ba45c8f 100644 --- a/hw/v4l2.h +++ b/hw/v4l2.h @@ -25,13 +25,15 @@ #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) +extern int log_debug; + // assumes that name is first item #define dev_name(dev) (dev ? *(const char**)dev : "?") #define E_LOG_ERROR(dev, _msg, ...) do { fprintf(stderr, "%s: %s: " _msg "\n", __FILENAME__, dev_name(dev), ##__VA_ARGS__); goto error; } while(0) #define E_LOG_PERROR(dev, _msg, ...) do { fprintf(stderr, "%s: %s: " _msg "\n", __FILENAME__, dev_name(dev), ##__VA_ARGS__); exit(-1); } while(0) -#define E_LOG_INFO(dev, _msg, ...) fprintf(stderr, "%s: %s: " _msg "\n", __FILENAME__, dev_name(dev), ##__VA_ARGS__) -#define E_LOG_VERBOSE(dev, _msg, ...) fprintf(stderr, "%s: %s: " _msg "\n", __FILENAME__, dev_name(dev), ##__VA_ARGS__) -#define E_LOG_DEBUG(dev, _msg, ...) fprintf(stderr, "%s: %s: " _msg "\n", __FILENAME__, dev_name(dev), ##__VA_ARGS__) +#define E_LOG_INFO(dev, _msg, ...) do { fprintf(stderr, "%s: %s: " _msg "\n", __FILENAME__, dev_name(dev), ##__VA_ARGS__); } while(0) +#define E_LOG_VERBOSE(dev, _msg, ...) do { fprintf(stderr, "%s: %s: " _msg "\n", __FILENAME__, dev_name(dev), ##__VA_ARGS__); } while(0) +#define E_LOG_DEBUG(dev, _msg, ...) do { if (log_debug) { fprintf(stderr, "%s: %s: " _msg "\n", __FILENAME__, dev_name(dev), ##__VA_ARGS__); } } while(0) typedef struct { char buf[10];