]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/BigBuf.c
Fix data mtrim
[proxmark3-svn] / armsrc / BigBuf.c
index 8f9ee4beb7a2e58a02b35996d7645575cc1f7abb..a5fcea7d288515227fa6af5ca015efef69578459 100644 (file)
@@ -13,6 +13,7 @@
 #include "proxmark3.h"
 #include "apps.h"
 #include "string.h"
 #include "proxmark3.h"
 #include "apps.h"
 #include "string.h"
+#include "util.h"
 
 // BigBuf is the large multi-purpose buffer, typically used to hold A/D samples or traces.
 // Also used to hold various smaller buffers and the Mifare Emulator Memory.
 
 // BigBuf is the large multi-purpose buffer, typically used to hold A/D samples or traces.
 // Also used to hold various smaller buffers and the Mifare Emulator Memory.
@@ -61,6 +62,10 @@ void BigBuf_Clear_ext(bool verbose)
                Dbprintf("Buffer cleared (%i bytes)",BIGBUF_SIZE);
 }
 
                Dbprintf("Buffer cleared (%i bytes)",BIGBUF_SIZE);
 }
 
+void BigBuf_Clear_keep_EM(void)
+{
+       memset(BigBuf,0,BigBuf_hi);
+}
 
 // allocate a chunk of memory from BigBuf. We allocate high memory first. The unallocated memory
 // at the beginning of BigBuf is always for traces/samples
 
 // allocate a chunk of memory from BigBuf. We allocate high memory first. The unallocated memory
 // at the beginning of BigBuf is always for traces/samples
@@ -184,7 +189,7 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_
        traceLen += iLen;
 
        // parity bytes
        traceLen += iLen;
 
        // parity bytes
-       if (iLen != 0) {
+       if (num_paritybytes != 0) {
                if (parity != NULL) {
                        memcpy(trace + traceLen, parity, num_paritybytes);
                } else {
                if (parity != NULL) {
                        memcpy(trace + traceLen, parity, num_paritybytes);
                } else {
Impressum, Datenschutz