tree 5cb920a6c0357c873e0c0d65c3b95d680fd15b69
parent 868cb586cc9c91480523504dc58c13c7256a1757
author Hanno Becker <hanno.becker@arm.com> 1563976674 +0100
committer Hanno Becker <hanno.becker@arm.com> 1565625903 +0100

Avoid unused variable warning in ServerKeyExchange parsing

ssl_server_key_exchange_parse() is compiled even if there's no ciphersuite
enabled which uses it (for example, that's the case in RSA-only builds).
The rationale for that is to avoid cluttering the code with numerous
compile-time guards. A consequence, however, is the top of
ssl_server_key_exchange_parse() contains declarations for variables
which are never put to use, and rightfully leading to compiler warnings.

This commit silences these warnings by putting `((void) VAR);` statements
in the branch which detects if we ever happen to call the function in an
unexpected ciphersuite.
