]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/util.c
CHG: 'lf hid wiegand' - remaking the wiegand calcs
[proxmark3-svn] / client / util.c
index a6ba8e81d16622d951f0e15a7684fdfa4f5ac9a9..c07981fed90769d93bde3de9802e37a4e8cd4835 100644 (file)
@@ -12,8 +12,7 @@
 #define MAX_BIN_BREAK_LENGTH   (3072+384+1)
 
 #ifndef _WIN32
-#include <termios.h>
-#include <sys/ioctl.h> 
+#include <sys/ttydefaults.h>
 
 int ukbhit(void) {
   int cnt = 0;
@@ -38,7 +37,6 @@ int ukbhit(void) {
 }
 
 #else
-#include <conio.h>
 int ukbhit(void) {
        return kbhit();
 }
@@ -183,13 +181,24 @@ char *sprint_hex_ascii(const uint8_t *data, const size_t len) {
        char *tmp = buf;
        memset(buf, 0x00, 1024);
        size_t max_len = (len > 1010) ? 1010 : len;
-       sprintf(tmp, "%s| %s", sprint_hex(data, max_len) , data);       
+
+       sprintf(tmp, "%s| ", sprint_hex(data, max_len) );
+       
+       size_t i = 0;
+       size_t pos = (max_len * 3)+2;
+       while(i < max_len){
+               char c = data[i];
+               if ( (c < 32) || (c == 127))
+                       c = '.';
+               sprintf(tmp+pos+i, "%c",  c);
+               ++i;
+       }
        return buf;
 }
 
 void num_to_bytes(uint64_t n, size_t len, uint8_t* dest) {
        while (len--) {
-               dest[len] = (uint8_t) n;
+               dest[len] = n & 0xFF;
                n >>= 8;
        }
 }
@@ -286,9 +295,7 @@ int param_getptr(const char *line, int *bg, int *en, int paramnum)
 char param_getchar(const char *line, int paramnum)
 {
        int bg, en;
-       
        if (param_getptr(line, &bg, &en, paramnum)) return 0x00;
-
        return line[bg];
 }
 
@@ -329,7 +336,6 @@ uint8_t param_isdec(const char *line, int paramnum)
 uint8_t param_get8ex(const char *line, int paramnum, int deflt, int base)
 {
        int bg, en;
-
        if (!param_getptr(line, &bg, &en, paramnum)) 
                return strtoul(&line[bg], NULL, base) & 0xff;
        else
@@ -339,7 +345,6 @@ uint8_t param_get8ex(const char *line, int paramnum, int deflt, int base)
 uint32_t param_get32ex(const char *line, int paramnum, int deflt, int base)
 {
        int bg, en;
-
        if (!param_getptr(line, &bg, &en, paramnum)) 
                return strtoul(&line[bg], NULL, base);
        else
@@ -349,7 +354,6 @@ uint32_t param_get32ex(const char *line, int paramnum, int deflt, int base)
 uint64_t param_get64ex(const char *line, int paramnum, int deflt, int base)
 {
        int bg, en;
-
        if (!param_getptr(line, &bg, &en, paramnum)) 
                return strtoull(&line[bg], NULL, base);
        else
@@ -400,7 +404,6 @@ int param_gethex_ex(const char *line, int paramnum, uint8_t * data, int *hexcnt)
 int param_getstr(const char *line, int paramnum, char * str)
 {
        int bg, en;
-
        if (param_getptr(line, &bg, &en, paramnum)) return 0;
        
        memcpy(str, line + bg, en - bg + 1);
Impressum, Datenschutz