[libvirt] [PATCH] rpc: fixing compilation error due to deprecated ssh_get_publickey().
Eric Blake
eblake at redhat.com
Fri May 4 21:23:03 UTC 2018
On 05/04/2018 04:01 PM, Julio Faracco wrote:
> IMHO:
> - The first approach is simple to remove in the future.
No, both approaches are equally easy to trim down in the future (true,
the second approach leaves a temporary variable that could possibly be
deleted, but it's not a prerequisite to remove the temporary variable
when trimming the ifdefs).
> - The second one is easy to read and understand.
Furthermore, the second one does not have unbalanced { vs. }, which
makes it better for some editors.
>>> +#if LIBSSH_VERSION_INT > 0x0705 /* 0.7.5 */
>>> + if (ssh_get_server_publickey(sess->session, &key) != SSH_OK) {
>>> +#else
>>> if (ssh_get_publickey(sess->session, &key) != SSH_OK) {
>>> +#endif
>>> virReportError(VIR_ERR_LIBSSH, "%s",
>>> _("failed to get the key of the current "
>>> "session"));
>>
>> How about making it easier to read and harder to mess up:
>>
>> #if LIBSSH_VERSION_INT > 0x0705 /* 0.7.5 */
>> rc = ssh_get_server_publickey(sess->session, &key);
>> #else
>> rc = ssh_get_publickey(sess->session, &key);
>> #endif
>>
>> if (rc != SSH_OK) {
>> ...
>> }
Furthermore, top-posting on technical lists is harder to read.
If you want a third approach, there is:
#if LIBSSH_VERSION_INT <= 0x0705 /* 0.7.5 */
# define ssh_get_server_publickey ssh_get_publickey
#endif
if (ssh_get_server_publickey(sess->session, &key) != SSH_OK) {
virReportError(...
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
More information about the libvir-list
mailing list