aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-11-25 13:13:05 +0100
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-11-25 13:20:08 +0100
commitfc9a644002dc501a5c224e5cc1a7dfba3ca2d1d8 (patch)
tree6fb1acf211a1bf9005236d16d22f03f8fac746d4 /include
parent2d303a7f0a6076bbf5739bae4f0fa443d0da5203 (diff)
Cleanup: move overflow safe alloc code into libsquashfs
There were only a hand full of instances outside libsquashfs that used the alloc code. In most cases, the thing allocated hat its size derived from something already in memory anyway, so it is safe to assume its size fits into a size_t. At the same time, the opencoded Windows path conversion functions are all unified into a single helper function. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include')
-rw-r--r--include/compat.h7
-rw-r--r--include/util/util.h15
2 files changed, 7 insertions, 15 deletions
diff --git a/include/compat.h b/include/compat.h
index 26ad69b..82b1c7e 100644
--- a/include/compat.h
+++ b/include/compat.h
@@ -59,6 +59,9 @@
#define le16toh(x) (x)
#define le32toh(x) (x)
#define le64toh(x) (x)
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
#else
#include <endian.h>
#endif
@@ -164,4 +167,8 @@ char *strndup(const char *str, size_t max_len);
int getsubopt(char **opt, char *const *keys, char **val);
#endif
+#if defined(_WIN32) || defined(__WINDOWS__)
+WCHAR *path_to_windows(const char *input);
+#endif
+
#endif /* COMPAT_H */
diff --git a/include/util/util.h b/include/util/util.h
index 7aa4f31..ed1102b 100644
--- a/include/util/util.h
+++ b/include/util/util.h
@@ -18,19 +18,4 @@
#define container_of(ptr, type, member) \
((type *)((char *)ptr - offsetof(type, member)))
-/*
- Helper for allocating data structures with flexible array members.
-
- 'base_size' is the size of the struct itself, 'item_size' the size of a
- single array element and 'nmemb' the number of elements.
-
- Iternally checks for arithmetic overflows when allocating the combined thing.
- */
-SQFS_INTERNAL
-void *alloc_flex(size_t base_size, size_t item_size, size_t nmemb);
-
-/* Basically the same as calloc, but *ALWAYS* does overflow checking */
-SQFS_INTERNAL
-void *alloc_array(size_t item_size, size_t nmemb);
-
#endif /* UTIL_H */