X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/b216af9a24fb5691ec47e6e961e0a61a343a16d7..5daad8266013a5600e958d256dfd58f451bc758b:/client/loclass/fileutils.c

diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c
index c8d56ce3..fd18b964 100644
--- a/client/loclass/fileutils.c
+++ b/client/loclass/fileutils.c
@@ -35,6 +35,7 @@
  * 
  * 
  ****************************************************************************/
+#ifndef ON_DEVICE
 
 #include <stdio.h>
 #include <string.h>
@@ -49,14 +50,20 @@
  * @return
  */
 int fileExists(const char *filename) {
-    struct stat st;
-    int result = stat(filename, &st);
+
+#ifdef _WIN32
+	struct _stat st;
+	int result = _stat(filename, &st);
+#else
+	struct stat st;
+	int result = stat(filename, &st);
+#endif
 	return result == 0;
 }
 
 int saveFile(const char *preferredName, const char *suffix, const void* data, size_t datalen)
 {
-	int size = sizeof(char) * (strlen(preferredName)+strlen(suffix)+5);
+	int size = sizeof(char) * (strlen(preferredName)+strlen(suffix)+10);
 	char * fileName = malloc(size);
 
 	memset(fileName,0,size);
@@ -70,30 +77,22 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si
 	/* We should have a valid filename now, e.g. dumpdata-3.bin */
 
 	/*Opening file for writing in binary mode*/
-	FILE *fileHandle=fopen(fileName,"wb");
-	if(!fileHandle) {
+	FILE *f = fopen(fileName,"wb");
+	if (!f) {
 		prnlog("Failed to write to file '%s'", fileName);
+		free(fileName);
 		return 1;
 	}
-	fwrite(data, 1,	datalen, fileHandle);
-	fclose(fileHandle);
+	fwrite(data, 1,	datalen, f);
+	if (f) {
+		fclose(f);
+		f = NULL;
+	}
 	prnlog("Saved data to '%s'", fileName);
 	free(fileName);
-
 	return 0;
 }
 
-int loadFile(const char *fileName, void* data, size_t datalen)
-{
-	FILE *filehandle = fopen(fileName, "rb");
-	if(!filehandle) {
-		prnlog("Failed to read from file '%s'", fileName);
-		return 1;
-	}
-	fread(data,datalen,1,filehandle);
-	fclose(filehandle);
-	return 0;
-}
 /**
  * Utility function to print to console. This is used consistently within the library instead
  * of printf, but it actually only calls printf (and adds a linebreak).
@@ -104,11 +103,18 @@ int loadFile(const char *fileName, void* data, size_t datalen)
  */
 void prnlog(char *fmt, ...)
 {
-
+	char buffer[2048] = {0};
 	va_list args;
 	va_start(args,fmt);
-    PrintAndLog(fmt, args);
-    //vprintf(fmt,args);
+	vsprintf (buffer,fmt, args);
 	va_end(args);
-    //printf("\n");
+	PrintAndLog(buffer);
+
 }
+#else //if we're on ARM
+void prnlog(char *fmt,...)
+{
+	return;
+}
+
+#endif