]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhflegic.c
ADD: added @marshmellow42 's print statement for "lf viking clone".
[proxmark3-svn] / client / cmdhflegic.c
index 5c900fda3572dec1f2187475b37e647ac28aa657..2d198820713e5252261a7b6e23c6db9bdb8d063a 100644 (file)
@@ -182,7 +182,7 @@ int CmdLegicLoad(const char *Cmd) {
        
        char cmdp = param_getchar(Cmd, 0);
        if ( cmdp == 'H' || cmdp == 'h' || cmdp == 0x00) {
-               PrintAndLog("It loads datasamples from the file `filename`");
+               PrintAndLog("It loads datasamples from the file `filename` to device memory");
                PrintAndLog("Usage:  hf legic load <file name>");
                PrintAndLog(" sample: hf legic load filename");
                return 0;
@@ -202,24 +202,23 @@ int CmdLegicLoad(const char *Cmd) {
     }
        
     char line[80]; 
-       int offset = 0, j
+       int offset = 0; 
        uint32_t data[8] = {0x00};
        
     while ( fgets(line, sizeof(line), f) ) {
         int res = sscanf(line, "%x %x %x %x %x %x %x %x", 
             &data[0], &data[1], &data[2], &data[3],
             &data[4], &data[5], &data[6], &data[7]);
+                       
         if(res != 8) {
           PrintAndLog("Error: could not read samples");
           fclose(f);
           return -1;
         }
-        UsbCommand c = { CMD_DOWNLOADED_SIM_SAMPLES_125K, {offset, 0, 0}};
-
-               for( j = 0; j < 8; j++) {
-            c.d.asBytes[j] = data[j];
-        }
                
+        UsbCommand c = { CMD_DOWNLOADED_SIM_SAMPLES_125K, {offset, 0, 0}};
+               memcpy(c.d.asBytes, data, 8);
+               clearCommandBuffer();
         SendCommand(&c);
         WaitForResponse(CMD_ACK, NULL);
         offset += 8;
@@ -240,9 +239,8 @@ int CmdLegicSave(const char *Cmd) {
 
        /* If no length given save entire legic read buffer */
        /* round up to nearest 8 bytes so the saved data can be used with legicload */
-       if (requested == 0) {
+       if (requested == 0)
                requested = 1024;
-       }
 
        if (requested % 8 != 0) {
                int remainder = requested % 8;
Impressum, Datenschutz