X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/b216af9a24fb5691ec47e6e961e0a61a343a16d7..d3a22c7dfa87bf5e21d228849a602194be4a0895:/client/loclass/fileutils.c diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index c8d56ce3..443070c1 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -49,14 +49,20 @@ * @return */ int fileExists(const char *filename) { - struct stat st; - int result = stat(filename, &st); + +#ifdef _WIN32 + struct _stat fileStat; + int result = _stat(filename, &fileStat); +#else + struct stat fileStat; + int result = stat(filename, &fileStat); +#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,14 +76,15 @@ 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) { - prnlog("Failed to write to file '%s'", fileName); + FILE *fh=fopen(fileName,"wb"); + if(!fh) { + PrintAndLog("Failed to write to file '%s'", fileName); + free(fh); return 1; } - fwrite(data, 1, datalen, fileHandle); - fclose(fileHandle); - prnlog("Saved data to '%s'", fileName); + fwrite(data, 1, datalen, fh); + fclose(fh); + PrintAndLog("Saved data to '%s'", fileName); free(fileName); return 0; @@ -87,11 +94,13 @@ 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); + PrintAndLog("Failed to read from file '%s'", fileName); + free(filehandle); return 1; } fread(data,datalen,1,filehandle); fclose(filehandle); + free(filehandle); return 0; } /**