* Added debug and error logging to tele2json, const'ified argument. rwlock
authorUrban Wallasch <urban.wallasch@freenet.de>
Mon, 19 Aug 2019 11:54:37 +0000 (13:54 +0200)
committerUrban Wallasch <urban.wallasch@freenet.de>
Mon, 19 Aug 2019 11:54:37 +0000 (13:54 +0200)
tele2json.c
tele2json.h

index 7a402942b5e1213467eb77d83353f82814369986..f2d011e6abae2ec0e493083f2310e748cab7d66d 100644 (file)
@@ -7,13 +7,15 @@
 #include "tele2json.h"
 #include "log.h"
 
-size_t tele2json( char *buf, size_t size, struct telemetry_state_t *tele ) {
+size_t tele2json( char *buf, size_t size, const struct telemetry_state_t *tele ) {
     size_t n = 0;
 
-    if ( NULL == tele )
+    if ( NULL == tele ) {
+        EPRINT( "Telemetry pointer is NULL!\n" );
         return 0;
+    }
 
-#define CHKSIZE do{ if ( n >= size ) return 0; }while(0)
+#define CHKSIZE do{ if ( n >= size ) { EPRINT("Buffer too small @%u!\n",(unsigned)n); return 0; } }while(0)
     CHKSIZE;
     n += snprintf( buf+n, size-n, "{\n" ); CHKSIZE;
 
@@ -75,6 +77,7 @@ size_t tele2json( char *buf, size_t size, struct telemetry_state_t *tele ) {
 
     n += snprintf( buf+n, size-n, "  \"dummy\": 0\n" ); CHKSIZE;
     n += snprintf( buf+n, size-n, "}\n" ); CHKSIZE;
+    DPRINT( "Generated %u bytes of JSON data.\n", (unsigned)n );
     return n;
 #undef CHKSIZE
 }
index 38a9f2004900e7199b374bd8b7d1654b7168ae03..b36cc70557f93642a67fd8f7d3fb8a6fe8b516a4 100644 (file)
@@ -9,7 +9,7 @@ extern "C" {
 
 #include "telemetry.h"
 
-extern size_t tele2json( char *buf, size_t size, struct telemetry_state_t *tele );
+extern size_t tele2json( char *buf, size_t size, const struct telemetry_state_t *tele );
 
 #ifdef __cplusplus
 }