1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-07 14:21:48 +02:00

Merge pull request #10486 from tweag/jl/c-api_function-pointer

C API: Safer function pointer casting
This commit is contained in:
Eelco Dolstra 2024-04-16 18:56:08 +02:00 committed by GitHub
commit 74e4bc9b1d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 35 additions and 28 deletions

View file

@ -2,7 +2,8 @@
namespace nix::testing {
void observe_string_cb(const char * start, unsigned int n, std::string * user_data) {
void observe_string_cb(const char * start, unsigned int n, std::string * user_data)
{
*user_data = std::string(start);
}

View file

@ -4,9 +4,13 @@
namespace nix::testing {
void observe_string_cb(const char * start, unsigned int n, std::string * user_data);
inline void * observe_string_cb_data(std::string & out) {
inline void * observe_string_cb_data(std::string & out)
{
return (void *) &out;
};
#define OBSERVE_STRING(str) (void *)nix::testing::observe_string_cb, nix::testing::observe_string_cb_data(str)
#define OBSERVE_STRING(str) \
(nix_get_string_callback) nix::testing::observe_string_cb, nix::testing::observe_string_cb_data(str)
}