- // cant add swapped bytes-- ULC saves it as big endian in user memory.
- //if (swapEndian) authkeyptr = SwapEndian64(authenticationkey, dataLen/2, (dataLen == 32) ? 8 : 4);
-
- // if (hasAuthKey && (tagtype & UL_C)){ //UL_C
- // memcpy(data + Pages*4, authkeyptr, dataLen/2);
- // Pages += 4;
- // } else if (hasAuthKey) { //not sure output is in correct location.
- // memcpy(data + Pages*4, authkeyptr, dataLen/2);
- // Pages += 1;
- // }
+ if (hasAuthKey) {
+ if (!swapEndian) {
+ authKeyPtr = SwapEndian64(authenticationkey, dataLen, (dataLen == 16) ? 8 : 4);
+ memcpy(data + Pages*4, authKeyPtr, dataLen);
+ } else {
+ memcpy(data + Pages*4, authenticationkey, dataLen);
+ }
+ Pages += dataLen/4; //not sure output is in correct location for all tag types.
+ }