Convert bitfields to integers in a safe way.
[tinc] / lib / utils.c
index 56bcb0b..02b7b34 100644 (file)
@@ -100,3 +100,10 @@ const char *winerror(int err) {
 }
 #endif
 
+unsigned int bitfield_to_int(void *bitfield, size_t size) {
+       unsigned int value = 0;
+       if(size > sizeof value)
+               size = sizeof value;
+       memcpy(&value, bitfield, size);
+       return value;
+}