clear spurious warnings + cpp compat
authorNiki Roo <niki@nikiroo.be>
Sun, 27 Feb 2022 13:06:29 +0000 (14:06 +0100)
committerNiki Roo <niki@nikiroo.be>
Sun, 27 Feb 2022 13:06:29 +0000 (14:06 +0100)
src/utils/array.c
src/utils/array.h
src/utils/desktop.h
src/utils/timing.h
src/utils/utils.h

index 77c75f8dddd85081fb13aaecd21a33877d634d90..084c325fac3d40d26f713c799c7d5faa5289a8a3 100644 (file)
@@ -199,7 +199,8 @@ int array_addn(array *me, void *data, size_t n) {
 }
 
 void *array_get_ptr(array *me, size_t i) {
-       return me->data + (i * me->elem_size);
+       // cast to (char *) because we want 'byte' arithmetic
+       return (void *)(((char *)me->data) + (i * me->elem_size));
 }
 
 void array_get(array *me, void *target, size_t i) {
@@ -207,7 +208,8 @@ void array_get(array *me, void *target, size_t i) {
 }
 
 void array_getn(array *me, void *target, size_t i, size_t n) {
-       memcpy(target, me->data + (i * me->elem_size), n * me->elem_size);
+       // cast to (char *) because we want 'byte' arithmetic
+       memcpy(target, ((char *)(me->data)) + (i * me->elem_size), n * me->elem_size);
 }
 
 int array_set(array *me, size_t i, void *data) {
@@ -222,7 +224,8 @@ int array_setn(array *me, size_t i, void *data, size_t n) {
        if (!array_assure(me, i + n))
                return 0;
        
-       memcpy(me->data + (i * me->elem_size), data, n * me->elem_size);
+       // cast to (char *) because we want 'byte' arithmetic
+       memcpy(((char *)(me->data)) + (i * me->elem_size), data, n * me->elem_size);
        if ((i + n) > me->count)
                me->count = i + n;
        return 1;
index 795707bf9d21da42c609c5c9e973d290cde1755f..db9952aaf222f4e5dc3d688cca3acb05092ff194 100644 (file)
 #ifndef ARRAY_H
 #define ARRAY_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <stdlib.h>
 #include <stdio.h>
 
@@ -368,3 +372,7 @@ void array_print_fmt(array *me,
 
 #endif /* ARRAY_H */
 
+#ifdef __cplusplus
+}
+#endif
+
index 059bb9962cc37f14c066a18ff5405385b600837f..d55cf84733ff866bec66102fd377e6b7af4ca102 100644 (file)
 #ifndef DESKTOP_H
 #define DESKTOP_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <stdio.h>
 
 #include "array.h"
@@ -46,3 +50,8 @@ desktop *desktop_find_id(array *children, int menu_id);
 char *desktop_find_icon(const char basename[], int icon_size);
 
 #endif /* DESKTOP_H */
+
+#ifdef __cplusplus
+}
+#endif
+
index 41ef029a32f4320ca6e6049ba2f5bb27712ab30c..024871c36dffac5d12dd15d9430a23b1e9de8e96 100644 (file)
 #ifndef TIMING_H
 #define TIMING_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <sys/time.h>
 
 #define START struct timeval TIMING_start, TIMING_stop; \
@@ -45,3 +49,8 @@
        gettimeofday(&TIMING_start, NULL);
 
 #endif // TIMING_H
+
+#ifdef __cplusplus
+}
+#endif
+
index 09be6441bb8d015913c7f7f07e50f51bd3e9f09b..a4a337699ed7740ce481dfa2cd667355b4b65fef 100644 (file)
 #ifndef UTILS_H
 #define UTILS_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include "array.h"
 #include "desktop.h"
 #include "print.h"
@@ -42,3 +46,8 @@
 char *utils_strdup(const char *source);
 
 #endif // UTILS_H
+
+#ifdef __cplusplus
+}
+#endif
+