[PATCH 1/2] Add #include guards to statistics.h and the extern "C" for C++

Thiago Macieira thiago at macieira.org
Mon May 6 20:55:27 PDT 2013


If the extern "C" is missing, the C++ compiler will try to find a
function by its mangled name. Since the function is in a .c file,
there will be no mangled name.

Signed-off-by: Thiago Macieira <thiago at macieira.org>
---
 statistics.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/statistics.h b/statistics.h
index 95f2957..732a287 100644
--- a/statistics.h
+++ b/statistics.h
@@ -4,6 +4,14 @@
  * core logic functions called from statistics UI
  * common types and variables
  */
+
+#ifndef STATISTICS_H
+#define STATISTICS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct {
 	int period;
 	duration_t total_time;
@@ -32,3 +40,9 @@ extern char *get_minutes(int seconds);
 extern void process_all_dives(struct dive *dive, struct dive **prev_dive);
 extern void get_selected_dives_text(char *buffer, int size);
 extern volume_t get_gas_used(struct dive *dive);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
-- 
1.7.11.7



More information about the subsurface mailing list