X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/a501c82b196b614295a6e3bf7481da84affb0d8e..905c55de2bbe642412b47ed4e92344096c817fac:/client/loclass/fileutils.c diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index deab3137..fd18b964 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -35,6 +35,7 @@ * * ****************************************************************************/ +#ifndef ON_DEVICE #include #include @@ -49,8 +50,14 @@ * @return */ int fileExists(const char *filename) { - struct _stat fileStat; - int result = _stat(filename, &fileStat); + +#ifdef _WIN32 + struct _stat st; + int result = _stat(filename, &st); +#else + struct stat st; + int result = stat(filename, &st); +#endif return result == 0; } @@ -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 *fh=fopen(fileName,"wb"); - if(!fh) { - PrintAndLog("Failed to write to file '%s'", fileName); + FILE *f = fopen(fileName,"wb"); + if (!f) { + prnlog("Failed to write to file '%s'", fileName); + free(fileName); return 1; } - fwrite(data, 1, datalen, fh); - fclose(fh); - PrintAndLog("Saved data to '%s'", fileName); + 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) { - PrintAndLog("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