*: don't include standard C headers inside of extern "C"

Including C headers inside of `extern "C"` breaks use from C++. Hoist
the includes of standard C headers above the block so we don't try
to mangle the stdlib.

I initially tried to scope this with a targeted change but it's too
hard to do correctly that way. This way, we avoid whack-a-mole.

Firefox is working around this in their e21461b7b8b39cc31ba53c47d4f6f310c673ff2f
commit.

Bug: https://bugzilla.mozilla.org/1953080
This commit is contained in:
Sam James 2025-05-27 09:06:08 +01:00
parent e2731914ad
commit b943c31fd8
No known key found for this signature in database
GPG key ID: 738409F520DF9190
207 changed files with 753 additions and 752 deletions

View file

@ -7,10 +7,6 @@
#ifndef PWTEST_H
#define PWTEST_H
#ifdef __cplusplus
extern "C" {
#endif
#include <limits.h>
#include <stddef.h>
#include <stdbool.h>
@ -20,6 +16,10 @@ extern "C" {
#include <spa/utils/dict.h>
#include "spa/support/plugin.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* \defgroup pwtest Test Suite
* \brief `pwtest` is a test runner framework for PipeWire.