mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 14:25:26 +00:00
util: New macro CONST_CAST.
Casts are sometimes necessary. One common reason that they are necessary is for discarding a "const" qualifier. However, this can impede maintenance: if the type of the expression being cast changes, then the presence of the cast can hide a necessary change in the code that does the cast. Using CONST_CAST, instead of a bare cast, makes these changes visible. Inspired by my own work elsewhere: http://git.savannah.gnu.org/cgit/pspp.git/tree/src/libpspp/cast.h#n80 Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2009, 2010, 2011 Nicira, Inc.
|
||||
* Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -902,7 +902,7 @@ do_ssl_init(void)
|
||||
|
||||
/* New OpenSSL changed TLSv1_method() to return a "const" pointer, so the
|
||||
* cast is needed to avoid a warning with those newer versions. */
|
||||
method = (SSL_METHOD *) TLSv1_method();
|
||||
method = CONST_CAST(SSL_METHOD *, TLSv1_method());
|
||||
if (method == NULL) {
|
||||
VLOG_ERR("TLSv1_method: %s", ERR_error_string(ERR_get_error(), NULL));
|
||||
return ENOPROTOOPT;
|
||||
|
Reference in New Issue
Block a user