kiba-engine
boolean.c
1 #include <kiba/format/defaults/boolean.h>
2 
3 #include <kiba/format/defaults/integer.h>
4 
5 FORMAT_FUNCTION(format_read_b8) {
6  b8 *arg = VA_ARG(*args, b8 *);
7  i64 tmp;
8  if (!format_read_signed_decimal(buf, options, &tmp)) {
9  return false;
10  }
11  *arg = tmp != 0;
12  return true;
13 }
14 
15 FORMAT_FUNCTION(format_write_b8) { return format_write_i32(buf, options, args); }
16 
17 FORMAT_FUNCTION(format_read_b32) {
18  b32 *arg = VA_ARG(*args, b32 *);
19  i64 tmp;
20  if (!format_read_signed_decimal(buf, options, &tmp)) {
21  return false;
22  }
23  *arg = (b32) tmp;
24  return true;
25 }
26 
27 FORMAT_FUNCTION(format_write_b32) {
28  b32 arg = VA_ARG(*args, b32);
29  return format_write_signed_decimal(buf, options, arg);
30 }