I am working on following the execution flow of the yesCrypt C code from openwall to see where the starting point is. While doing so I came across some interesting syntax I have not encountered before.
The 'yescrypt_binary_t' data type in the yescrypt.h file:Code:yescrypt_binary_t key = {.uc={1,2,3,4,5,6,7,8,9 . . . 128,64,32}};
The '.uc' is the curious part. How does this work?Code:typedef union { unsigned char uc[32]; uint64_t u64[4]; } yescrypt_binary_t;
Walt