From 0e7d8faf59028ef68a6155cb1b5569d7596bd0e0 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 3 May 2018 11:02:50 +0200 Subject: [PATCH] chg: 'hf mf csave' chg: 'mem save' chg: 'hf 15 dump' - no extra newline after last block in emlfile --- client/cmdhfmf.c | 4 +++- client/loclass/fileutils.c | 15 ++++++++------- client/mifarehost.c | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 24bec4825..b1dc6499b 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -2950,7 +2950,9 @@ int CmdHF14AMfCSave(const char *Cmd) { // eml for (j = 0; j < 16; j++) fprintf(feml, "%02x", buf[j]); - fprintf(feml,"\n"); + + if (i != numBlocks -1) + fprintf(feml,"\n"); // bin fwrite(buf, 1, sizeof(buf), fbin); diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index 2e7d28a4d..49f75ebfa 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -57,9 +57,7 @@ int fileExists(const char *filename) { int saveFile(const char *preferredName, const char *suffix, const void* data, size_t datalen) { int size = sizeof(char) * (strlen(preferredName) + strlen(suffix) + 10); - char * fileName = malloc(size); - - memset(fileName, 0, size); + char * fileName = calloc(size,sizeof(char)); int num = 1; sprintf(fileName,"%s.%s", preferredName, suffix); while (fileExists(fileName)) { @@ -91,11 +89,10 @@ int saveFileEML(const char *preferredName, const char *suffix, uint8_t* data, si int retval = 0; int blocks = datalen/blocksize; + uint16_t currblock = 1; int i,j; int size = sizeof(char) * (strlen(preferredName) + strlen(suffix) + 10); - char * fileName = malloc(size); - - memset(fileName, 0, size); + char * fileName = calloc(size, sizeof(char)); int num = 1; sprintf(fileName,"%s.%s", preferredName, suffix); while (fileExists(fileName)) { @@ -115,8 +112,12 @@ int saveFileEML(const char *preferredName, const char *suffix, uint8_t* data, si for (i = 0; i < datalen; i++) { fprintf(f, "%02X", data[i] ); - if ( (i+1) % blocksize == 0) + + // no extra line in the end + if ( (i+1) % blocksize == 0 && currblock != blocks ) { fprintf(f, "\n"); + currblock++; + } } // left overs if ( datalen % blocksize != 0) { diff --git a/client/mifarehost.c b/client/mifarehost.c index 90f0164cb..fe2495938 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -620,7 +620,7 @@ int saveTraceCard(void) { // no extra line in the end if ( i < 255 ) - fprintf(f,"\n"); + fprintf(f, "\n"); } fflush(f); fclose(f);