]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
make clean_ascii a util function 221/head
authorJames Chambers <jameschambers2@gmail.com>
Fri, 3 Mar 2017 23:04:58 +0000 (18:04 -0500)
committerJames Chambers <jameschambers2@gmail.com>
Fri, 3 Mar 2017 23:04:58 +0000 (18:04 -0500)
client/cmdhfmfu.c
client/util.c
client/util.h

index 9c5f7a833bd89636ac59e4aaa26e5bb8d64596a3..b7cf0fcd6a00e5bec876a00a932839a1e711f124 100644 (file)
@@ -1231,7 +1231,7 @@ int CmdHF14AMfUDump(const char *Cmd){
        bool manualPages = false;
        uint8_t startPage = 0;
        char tempStr[50];
        bool manualPages = false;
        uint8_t startPage = 0;
        char tempStr[50];
-       char cleanASCII[4];
+       unsigned char cleanASCII[4];
 
        while(param_getchar(Cmd, cmdp) != 0x00)
        {
 
        while(param_getchar(Cmd, cmdp) != 0x00)
        {
@@ -1424,12 +1424,7 @@ int CmdHF14AMfUDump(const char *Cmd){
 
                // convert unprintable characters and line breaks to dots
                memcpy(cleanASCII, data+i*4, 4);
 
                // convert unprintable characters and line breaks to dots
                memcpy(cleanASCII, data+i*4, 4);
-
-               for (size_t clean_i = 0; clean_i < 4; clean_i++) {
-                       if (!isprint(cleanASCII[clean_i])) {
-                               cleanASCII[clean_i] = '.';
-                       }
-               }
+               clean_ascii(cleanASCII, 4);
 
                PrintAndLog("%3d/0x%02X | %s| %d | %.4s", i+startPage, i+startPage, sprint_hex(data + i * 4, 4), tmplockbit, cleanASCII);
        }
 
                PrintAndLog("%3d/0x%02X | %s| %d | %.4s", i+startPage, i+startPage, sprint_hex(data + i * 4, 4), tmplockbit, cleanASCII);
        }
index 374ae397a3415d9b8c916cc3573357c36193e89c..e80f5cc9d59efeb7fe1cabee909db4bcb49ed1d5 100644 (file)
@@ -8,6 +8,7 @@
 // utilities
 //-----------------------------------------------------------------------------
 
 // utilities
 //-----------------------------------------------------------------------------
 
+#include <ctype.h>
 #include "util.h"
 #define MAX_BIN_BREAK_LENGTH   (3072+384+1)
 
 #include "util.h"
 #define MAX_BIN_BREAK_LENGTH   (3072+384+1)
 
@@ -581,3 +582,12 @@ void rol(uint8_t *data, const size_t len){
     }
     data[len-1] = first;
 }
     }
     data[len-1] = first;
 }
+
+
+// Replace unprintable characters with a dot in char buffer
+void clean_ascii(unsigned char *buf, size_t len) {
+  for (size_t i = 0; i < len; i++) {
+    if (!isprint(buf[i]))
+      buf[i] = '.';
+  }
+}
index 8c0ed950db3f38df1600aad2ca281fa3ad876148..fde065400c7c2c3a885a1099cd1c6ccbc20cd1b7 100644 (file)
@@ -76,3 +76,5 @@ void xor(unsigned char *dst, unsigned char *src, size_t len);
 int32_t le24toh(uint8_t data[3]);
 uint32_t le32toh (uint8_t *data);
 void rol(uint8_t *data, const size_t len);
 int32_t le24toh(uint8_t data[3]);
 uint32_t le32toh (uint8_t *data);
 void rol(uint8_t *data, const size_t len);
+
+void clean_ascii(unsigned char *buf, size_t len);
Impressum, Datenschutz