This can be used to silence clang warnings about unannotated fall-through
Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define __hidden __attribute__((visibility("hidden")))
#endif
+#ifndef __has_attribute
+# define __has_attribute(x) 0
+#endif
+
+#ifndef fallthrough
+# if __has_attribute(__fallthrough__)
+# define fallthrough __attribute__((__fallthrough__))
+# else
+# define fallthrough do {} while (0) /* fallthrough */
+# endif
+#endif
+
int b64_encode(const void *src, size_t src_len,
void *dest, size_t dest_len);