with the declaration of 'uint8_t destination[8]', 'destination' is already a pointer, don't try to get the address of it by using '&destination', then you will get a pointer to a pointer.

This commit is contained in:
roel@libnfc.org 2013-10-11 08:37:08 +00:00
parent 51defdd4a2
commit 05f23c593c

View file

@ -150,12 +150,13 @@ static int l_nonce2key(lua_State *L){
//Push the retval on the stack
lua_pushinteger(L,retval);
//Push the key onto the stack
uint8_t dest_key[8];
num_to_bytes(key,sizeof(dest_key),&dest_key);
uint8_t dest_key[8];
num_to_bytes(key,sizeof(dest_key),dest_key);
//printf("Pushing to lua stack: %012"llx"\n",key);
lua_pushlstring(L,(const char *) &dest_key,sizeof(dest_key));
//printf("Pushing to lua stack: %012"llx"\n",key);
lua_pushlstring(L,(const char *) dest_key,sizeof(dest_key));
return 2; //Two return values
}
@ -176,15 +177,18 @@ static int l_foobar(lua_State *L)
printf("foobar called with %d arguments" , n);
lua_settop(L, 0);
printf("Arguments discarded, stack now contains %d elements", lua_gettop(L));
UsbCommand response = {CMD_MIFARE_READBL, {1337, 1338, 1339}};
printf("Now returning a uint64_t as a string");
uint64_t x = 0xDEADBEEF;
uint8_t destination[8];
num_to_bytes(x,sizeof(x),&destination);
lua_pushlstring(L,(const char *)&x,sizeof(x));
lua_pushlstring(L,(const char *)&destination,sizeof(destination));
// todo: this is not used, where was it intended for?
// UsbCommand response = {CMD_MIFARE_READBL, {1337, 1338, 1339}};
printf("Now returning a uint64_t as a string");
uint64_t x = 0xDEADBEEF;
uint8_t destination[8];
num_to_bytes(x,sizeof(x),destination);
lua_pushlstring(L,(const char *)&x,sizeof(x));
lua_pushlstring(L,(const char *)destination,sizeof(destination));
return 2;
return 2;
}