]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/util.c
start updating 'hf mfu' commands (#818)
[proxmark3-svn] / client / util.c
index dec7c5a1f4518dca7648356c30c1f3f157075b92..eef97e2abc7d584f0a2b77b7ace367844151a3ff 100644 (file)
@@ -52,7 +52,22 @@ int ukbhit(void)
   return ( error == 0 ? cnt : -1 );
 }
 
-#else
+char getch(void)
+{
+       char c;
+       int error;
+       struct termios Otty, Ntty;
+       if ( tcgetattr(STDIN_FILENO, &Otty) == -1 ) return -1;
+       Ntty = Otty;
+       Ntty.c_lflag &= ~ICANON; /* disable buffered i/o */
+       if (0 == (error = tcsetattr(STDIN_FILENO, TCSANOW, &Ntty))) {   // set new attributes
+               c = getchar();
+               error += tcsetattr(STDIN_FILENO, TCSANOW, &Otty);           // reset attributes
+       }
+       return ( error == 0 ? c : -1 );
+}
+
+#else // _WIN32
 
 #include <conio.h>
 int ukbhit(void) {
@@ -253,6 +268,10 @@ char *sprint_ascii_ex(const uint8_t *data, const size_t len, const size_t min_st
        return buf;
 }
 
+char *sprint_ascii(const uint8_t *data, const size_t len) {
+    return sprint_ascii_ex(data, len, 0);
+}
+
 void num_to_bytes(uint64_t n, size_t len, uint8_t* dest)
 {
        while (len--) {
@@ -314,7 +333,7 @@ uint8_t *SwapEndian64(const uint8_t *src, const size_t len, const uint8_t blockS
 }
 
 //assumes little endian
-char * printBits(size_t const size, void const * const ptr)
+char *printBits(size_t const size, void const * const ptr)
 {
     unsigned char *b = (unsigned char*) ptr;   
     unsigned char byte;
Impressum, Datenschutz