]> rtime.felk.cvut.cz Git - coffee/mt-apps.git/blobdiff - mt_rfid.c
mt_server: Use "%s" format string in syslog()
[coffee/mt-apps.git] / mt_rfid.c
index 3176d778d0cdc081dff5686d1e025c2ed9b3337d..76a94c52d8f162431fd29238dbd6e90ec52d185d 100644 (file)
--- a/mt_rfid.c
+++ b/mt_rfid.c
@@ -9,6 +9,7 @@
 
 #include "mt_rfid.h"
 #include "signal_exit.h"
+#include "json_helpers.h"
 
 // shit to avoid constant repetition
 #define CONCAT_AGAIN(A,B) A ## B
@@ -84,32 +85,8 @@ static int tty_open(const char *port, int br)
     return fd;
 }
 
-// really simple JSON helpers
-#define JSON_START()   dprintf(fd,"{")
-#define JSON_NUM(NAME) dprintf(fd,"\"" #NAME "\":%d", NAME) //see the int?
-#define JSON_NEXT()    dprintf(fd,",")
-#define JSON_STR(NAME) dprintf(fd,"\"" #NAME "\":\"%s\"", NAME)
-#define JSON_END()     dprintf(fd,"}\n")
-
-// print complete json
-#define JSON_PRINT() do { \
-    JSON_START();         \
-    JSON_STR(type);       \
-    JSON_NEXT();          \
-    JSON_NUM(card_type);  \
-    JSON_NEXT();          \
-    JSON_NUM(sak);        \
-    JSON_NEXT();          \
-    JSON_NUM(size);       \
-    JSON_NEXT();          \
-    JSON_STR(uid);        \
-    JSON_END();           \
-} while (0)
-
 static void ufr_read(char *uid, int fd)
 {
-    static char *type = "rfid";
-
     UFR_STATUS status;
     uint8_t card_type;
     uint8_t sak;           //select acknowledge
@@ -128,7 +105,7 @@ static void ufr_read(char *uid, int fd)
         return;
     }
 
-    JSON_PRINT();
+    rfid_json_print(fd, card_type, sak, uid, size);
 
 #ifdef UFR_BEEP
     ReaderUISignal(0, 1); // no light, one beep
@@ -231,6 +208,7 @@ int main(int argc, char **argv)
     ev_run(loop, 0);
 
     mt_rfid_deinit(&rfid);
+    ev_loop_destroy(loop);
 
     return 0;
 }