Upstream-Status: Backport Signed-off-by: Ross Burton From 26f2889113789c176273bd24fcd1592a8064c346 Mon Sep 17 00:00:00 2001 From: "Anthony G. Basile" Date: Tue, 6 Jul 2021 07:54:47 -0600 Subject: [PATCH 1/2] Replace __BEGIN_DECLS and __END_DECLS with extern "C". The macros __BEGIN_DECLS and __END_DECLS are a GNU-ism found in glibc and uClibc, but not musl. We replace them by the more general extern "C" { ... } block exposed only if we have __cplusplus. Forward ported from a patch by Anthony G. Basile . Signed-off-by: Alex Xu (Hello71) Signed-off-by: Tom Hromatka --- include/libcgroup/config.h | 8 ++++++-- include/libcgroup/error.h | 8 ++++++-- include/libcgroup/groups.h | 8 ++++++-- include/libcgroup/init.h | 8 ++++++-- include/libcgroup/iterators.h | 8 ++++++-- include/libcgroup/log.h | 8 ++++++-- include/libcgroup/tasks.h | 8 ++++++-- src/bindings/libcgroup.p | 8 -------- src/daemon/cgrulesengd.h | 8 ++++++-- src/libcgroup-internal.h | 8 ++++++-- src/tools/tools-common.h | 8 ++++++-- 11 files changed, 60 insertions(+), 28 deletions(-) diff --git a/include/libcgroup/config.h b/include/libcgroup/config.h index 9aaa390..f835009 100644 --- a/include/libcgroup/config.h +++ b/include/libcgroup/config.h @@ -9,7 +9,9 @@ #include #endif -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif /** * @defgroup group_config 5. Configuration @@ -128,6 +130,8 @@ int cgroup_config_create_template_group( * @} * @} */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /*_LIBCGROUP_CONFIG_H*/ diff --git a/include/libcgroup/error.h b/include/libcgroup/error.h index 1dfdde9..14a6e16 100644 --- a/include/libcgroup/error.h +++ b/include/libcgroup/error.h @@ -9,7 +9,9 @@ #include #endif -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif /** * @defgroup group_errors 6. Error handling @@ -99,6 +101,8 @@ int cgroup_get_last_errno(void); * @} * @} */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* _LIBCGROUP_INIT_H */ diff --git a/include/libcgroup/groups.h b/include/libcgroup/groups.h index 201558f..39ec3cd 100644 --- a/include/libcgroup/groups.h +++ b/include/libcgroup/groups.h @@ -11,7 +11,9 @@ #include #endif -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif /** * Flags for cgroup_delete_cgroup_ext(). @@ -587,6 +589,8 @@ char *cgroup_get_cgroup_name(struct cgroup *cgroup); */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* _LIBCGROUP_GROUPS_H */ diff --git a/include/libcgroup/init.h b/include/libcgroup/init.h index 5150f2f..ea2dcc9 100644 --- a/include/libcgroup/init.h +++ b/include/libcgroup/init.h @@ -9,7 +9,9 @@ #include #endif -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif /** * @defgroup group_init 1. Initialization @@ -58,6 +60,8 @@ int cgroup_get_subsys_mount_point(const char *controller, char **mount_point); * @} * @} */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* _LIBCGROUP_INIT_H */ diff --git a/include/libcgroup/iterators.h b/include/libcgroup/iterators.h index c6d453d..b3ba3af 100644 --- a/include/libcgroup/iterators.h +++ b/include/libcgroup/iterators.h @@ -11,7 +11,9 @@ #include #endif -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif /** * @defgroup group_iterators 3. Iterators @@ -423,6 +425,8 @@ int cgroup_get_subsys_mount_point_end(void **handle); * @} */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* _LIBCGROUP_ITERATORS_H */ diff --git a/include/libcgroup/log.h b/include/libcgroup/log.h index 0dd03b4..f693473 100644 --- a/include/libcgroup/log.h +++ b/include/libcgroup/log.h @@ -11,7 +11,9 @@ #include -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif /** * @defgroup group_log 7. Logging @@ -142,6 +144,8 @@ extern int cgroup_parse_log_level_str(const char *levelstr); * @} * @} */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* _LIBCGROUP_LOG_H */ diff --git a/include/libcgroup/tasks.h b/include/libcgroup/tasks.h index aad438a..8553c30 100644 --- a/include/libcgroup/tasks.h +++ b/include/libcgroup/tasks.h @@ -12,7 +12,9 @@ #include #endif -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif /** Flags for cgroup_change_cgroup_uid_gid(). */ enum cgflags { @@ -204,6 +206,8 @@ int cgroup_register_unchanged_process(pid_t pid, int flags); * @} * @} */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* _LIBCGROUP_TASKS_H */ diff --git a/src/daemon/cgrulesengd.h b/src/daemon/cgrulesengd.h index e273b4b..0b12076 100644 --- a/src/daemon/cgrulesengd.h +++ b/src/daemon/cgrulesengd.h @@ -17,7 +17,9 @@ #include -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif #include "config.h" #include "libcgroup.h" @@ -119,7 +121,9 @@ void cgre_flash_templates(int signum); */ void cgre_catch_term(int signum); -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* _CGRULESENGD_H */ diff --git a/src/libcgroup-internal.h b/src/libcgroup-internal.h index 1dfc92b..edc5abb 100644 --- a/src/libcgroup-internal.h +++ b/src/libcgroup-internal.h @@ -16,7 +16,9 @@ #define __LIBCG_INTERNAL -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif #include "config.h" #include @@ -407,6 +409,8 @@ int cgroupv2_controller_enabled(const char * const cg_name, #endif /* UNIT_TEST */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif diff --git a/src/tools/tools-common.h b/src/tools/tools-common.h index 292c408..e3541b1 100644 --- a/src/tools/tools-common.h +++ b/src/tools/tools-common.h @@ -18,7 +18,9 @@ #define __TOOLS_COMMON -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif #include "config.h" #include #include "../libcgroup-internal.h" @@ -136,6 +138,8 @@ int parse_r_flag(const char * const program_name, #endif /* UNIT_TEST */ -__END_DECLS +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* TOOLS_COMMON */ -- 2.32.0