C++ conformance fixes (MSVC /permissive-)
We (the Microsoft C++ team) use the Blender project as part of our "Real world code" tests. I noticed a place in WIN32 specific code (dvpapi.cpp:85) where a string literal is losing its const-ness when being passed to BLI_dynlib_open(). This is not permitted when using the /permissive- conformance compiler switch (see our blog https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/) My suggested fix is to add const and propagate it where needed. Another possible fix would be to explicitly cast away the const. Reviewers: mont29, sergey, LazyDodo Subscribers: Blendify, sergey, mont29, LazyDodo Tags: #platform:_windows Differential Revision: https://developer.blender.org/D2495
This commit is contained in:
parent
22156d951d
commit
351c409317
|
@ -93,7 +93,7 @@ wchar_t *alloc_utf16_from_8(const char *in8, size_t add);
|
|||
|
||||
/* Easy allocation and conversion of new utf-16 string. New string has _16 suffix. Must be deallocated with UTF16_UN_ENCODE in right order*/
|
||||
#define UTF16_ENCODE(in8str) if (1) { \
|
||||
wchar_t *in8str ## _16 = alloc_utf16_from_8((char *)in8str, 0)
|
||||
wchar_t *in8str ## _16 = alloc_utf16_from_8((const char *)in8str, 0)
|
||||
|
||||
#define UTF16_UN_ENCODE(in8str) \
|
||||
free(in8str ## _16); } (void)0
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
typedef struct DynamicLibrary DynamicLibrary;
|
||||
|
||||
DynamicLibrary *BLI_dynlib_open(char *name);
|
||||
DynamicLibrary *BLI_dynlib_open(const char *name);
|
||||
void *BLI_dynlib_find_symbol(DynamicLibrary *lib, const char *symname);
|
||||
char *BLI_dynlib_get_error_as_string(DynamicLibrary *lib);
|
||||
void BLI_dynlib_close(DynamicLibrary *lib);
|
||||
|
|
|
@ -50,7 +50,7 @@ struct DynamicLibrary {
|
|||
#include "utf_winfunc.h"
|
||||
#include "utfconv.h"
|
||||
|
||||
DynamicLibrary *BLI_dynlib_open(char *name)
|
||||
DynamicLibrary *BLI_dynlib_open(const char *name)
|
||||
{
|
||||
DynamicLibrary *lib;
|
||||
void *handle;
|
||||
|
@ -106,7 +106,7 @@ void BLI_dynlib_close(DynamicLibrary *lib)
|
|||
|
||||
#include <dlfcn.h>
|
||||
|
||||
DynamicLibrary *BLI_dynlib_open(char *name)
|
||||
DynamicLibrary *BLI_dynlib_open(const char *name)
|
||||
{
|
||||
DynamicLibrary *lib;
|
||||
void *handle = dlopen(name, RTLD_LAZY);
|
||||
|
|
Loading…
Reference in New Issue