]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/util.c
Merge remote-tracking branch 'upstream/master'
[proxmark3-svn] / client / util.c
index 35af3d668e8edad7af2364b38b8b67358306b753..32c06e910a31480c2443fb1edfaa70f9b33a35fb 100644 (file)
@@ -126,7 +126,12 @@ char *sprint_hex(const uint8_t *data, const size_t len) {
 
 char *sprint_bin_break(const uint8_t *data, const size_t len, const uint8_t breaks) {
        // make sure we don't go beyond our char array memory
 
 char *sprint_bin_break(const uint8_t *data, const size_t len, const uint8_t breaks) {
        // make sure we don't go beyond our char array memory
-       int max_len = ( len+(len/breaks) > MAX_BIN_BREAK_LENGTH ) ? MAX_BIN_BREAK_LENGTH : len+(len/breaks);
+       int max_len;
+       if (breaks==0)
+               max_len = ( len > MAX_BIN_BREAK_LENGTH ) ? MAX_BIN_BREAK_LENGTH : len;
+       else
+               max_len = ( len+(len/breaks) > MAX_BIN_BREAK_LENGTH ) ? MAX_BIN_BREAK_LENGTH : len+(len/breaks);
+
        static char buf[MAX_BIN_BREAK_LENGTH]; // 3072 + end of line characters if broken at 8 bits
        //clear memory
        memset(buf, 0x00, sizeof(buf));
        static char buf[MAX_BIN_BREAK_LENGTH]; // 3072 + end of line characters if broken at 8 bits
        //clear memory
        memset(buf, 0x00, sizeof(buf));
@@ -137,7 +142,7 @@ char *sprint_bin_break(const uint8_t *data, const size_t len, const uint8_t brea
        for (size_t out_index=0; out_index < max_len; out_index++) {
                // set character
                sprintf(tmp++, "%u", data[in_index]);
        for (size_t out_index=0; out_index < max_len; out_index++) {
                // set character
                sprintf(tmp++, "%u", data[in_index]);
-               // check if a line break is needed
+               // check if a line break is needed and we have room to print it in our array
                if ( (breaks > 0) && !((in_index+1) % breaks) && (out_index+1 != max_len) ) {
                        // increment and print line break
                        out_index++;
                if ( (breaks > 0) && !((in_index+1) % breaks) && (out_index+1 != max_len) ) {
                        // increment and print line break
                        out_index++;
@@ -266,7 +271,7 @@ char param_getchar(const char *line, int paramnum)
 
 uint8_t param_get8(const char *line, int paramnum)
 {
 
 uint8_t param_get8(const char *line, int paramnum)
 {
-       return param_get8ex(line, paramnum, 10, 0);
+       return param_get8ex(line, paramnum, 0, 10);
 }
 
 /**
 }
 
 /**
Impressum, Datenschutz