From 2d495a814df05ad14cce886700fa3d96c1a5f5e3 Mon Sep 17 00:00:00 2001
From: "thijsbreman@gmail.com"
 <thijsbreman@gmail.com@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Date: Wed, 3 Oct 2012 12:30:20 +0000
Subject: [PATCH] Added output to file for 'lf hitag list' command

---
 client/cmdlfhitag.c | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/client/cmdlfhitag.c b/client/cmdlfhitag.c
index 703767b0..61a7d3b3 100644
--- a/client/cmdlfhitag.c
+++ b/client/cmdlfhitag.c
@@ -25,6 +25,17 @@ int CmdLFHitagList(const char *Cmd)
 {
   uint8_t got[3000];
   GetFromBigBuf(got,sizeof(got),0);
+  char filename[256];
+  FILE* pf;
+
+  param_getstr(Cmd,0,filename);
+  
+  if (strlen(filename) > 0) {
+      if ((pf = fopen(filename,"w")) == NULL) {
+	    PrintAndLog("Error: Could not open file [%s]",filename);
+	    return 1;
+	  }
+  }
 
   PrintAndLog("recorded activity:");
   PrintAndLog(" ETU     :rssi: who bytes");
@@ -102,10 +113,26 @@ int CmdLFHitagList(const char *Cmd)
       (isResponse ? "TAG" : "   "),
       line);
 
+
+	if (strlen(filename) > 0) {
+      fprintf(pf," +%7d: %s: %s %s %s",
+					(prev < 0 ? 0 : (timestamp - prev)),
+					metricString,
+					(isResponse ? "TAG" : "   "),
+					line,
+					"\n");
+    }
+	
     prev = timestamp;
     i += (len + 9);
   }
-	return 0;
+  
+  if (strlen(filename) > 0) {
+	  PrintAndLog("Recorded activity succesfully written to file: %s", filename);
+    fclose(pf);
+  }
+	
+  return 0;
 }
 
 int CmdLFHitagSnoop(const char *Cmd) {
-- 
2.39.5