Skip to content
New issue

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

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

Already on GitHub? Sign in 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

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

Successfully merging this pull request may close these issues.

1 participant