X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/0f5b97d92cfd4e7a33eb79a226831753812c4ed5..refs/pull/122/head:/client/cmddata.c

diff --git a/client/cmddata.c b/client/cmddata.c
index 976dc084..bec1b5aa 100644
--- a/client/cmddata.c
+++ b/client/cmddata.c
@@ -392,7 +392,7 @@ int Cmdmandecoderaw(const char *Cmd)
 	int errCnt=0;
 	size_t size=0;
 	int invert=0;
-	size_t maxErr = 20;
+	int maxErr = 20;
 	char cmdp = param_getchar(Cmd, 0);
 	if (strlen(Cmd) > 5 || cmdp == 'h' || cmdp == 'H') {
 		PrintAndLog("Usage:  data manrawdecode [invert] [maxErr]");
@@ -498,13 +498,13 @@ int CmdBiphaseDecodeRaw(const char *Cmd)
 int ASKbiphaseDemod(const char *Cmd, bool verbose)
 {
 	//ask raw demod GraphBuffer first
-	int offset=0, clk=0, invert=0, maxErr=0, ans=0;
-	ans = sscanf(Cmd, "%i %i %i %i", &offset, &clk, &invert, &maxErr);
+	int offset=0, clk=0, invert=0, maxErr=0;
+	sscanf(Cmd, "%i %i %i %i", &offset, &clk, &invert, &maxErr);
 
 	uint8_t BitStream[MAX_DEMOD_BUF_LEN];	  
 	size_t size = getFromGraphBuf(BitStream);	  
-
-	int errCnt = askdemod(BitStream, &size, &clk, 0, maxErr, 0, 0);  
+	//invert here inverts the ask raw demoded bits which has no effect on the demod, but we need the pointer
+	int errCnt = askdemod(BitStream, &size, &clk, &invert, maxErr, 0, 0);  
 	if ( errCnt < 0 || errCnt > maxErr ) {   
 		if (g_debugMode) PrintAndLog("DEBUG: no data or error found %d, clock: %d", errCnt, clk);  
 			return 0;  
@@ -1546,12 +1546,12 @@ int PSKDemod(const char *Cmd, bool verbose)
 		clk=0;
 	}
 	if (invert != 0 && invert != 1) {
-		if (verbose) PrintAndLog("Invalid argument: %s", Cmd);
+		if (g_debugMode || verbose) PrintAndLog("Invalid argument: %s", Cmd);
 		return 0;
 	}
 	uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
 	size_t BitLen = getFromGraphBuf(BitStream);
-	if (BitLen==0) return -1;
+	if (BitLen==0) return 0;
 	uint8_t carrier=countFC(BitStream, BitLen, 0);
 	if (carrier!=2 && carrier!=4 && carrier!=8){
 		//invalid carrier