Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Provide a C++ compatible macro definition for UX_NULL #97

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

aerisnju
Copy link

@aerisnju aerisnju commented Apr 21, 2023

We have a macro stands for null pointers. i.e. UX_NULL. Currently its definition is

#define UX_NULL                                                         ((void*)0)

It works perfectly for C projects. But when it comes to C++, we will get compilation errors because ((void*)0) is not allowed in C++ as a null pointer [1]. Instead, 0 or nullptr are allowed. So we need to change the macro definition in C++.

In the PR I use the presence of macro __cplusplus to distinguish C and C++ environments. We will still get the original definitions when we compile C sources. For maximum compability, I choose to use 0 as the definition instead of nullptr because the latter requires c++11 or later.

[1] https://en.cppreference.com/w/cpp/types/NULL

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant