app_update, print events
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
void memory_copy(void *dst, void *src, size_t n) {
|
||||
void memory_copy(void *dst, void *src, usize n) {
|
||||
#if PLATFORM_CLANG
|
||||
__builtin_memcpy(dst, src, n);
|
||||
#else
|
||||
@@ -6,7 +6,7 @@ void memory_copy(void *dst, void *src, size_t n) {
|
||||
#endif
|
||||
}
|
||||
|
||||
void memory_move(void *dest, const void *src, size_t n) {
|
||||
void memory_move(void *dest, const void *src, usize n) {
|
||||
#if PLATFORM_CLANG
|
||||
__builtin_memmove(dest, src, n);
|
||||
#else
|
||||
@@ -14,7 +14,7 @@ void memory_move(void *dest, const void *src, size_t n) {
|
||||
#endif
|
||||
}
|
||||
|
||||
void memory_set(void *dst, int c, size_t size) {
|
||||
void memory_set(void *dst, i32 c, usize size) {
|
||||
#if PLATFORM_CLANG
|
||||
__builtin_memset(dst, c, size);
|
||||
#else
|
||||
@@ -53,11 +53,11 @@ f32 f32_mod(f32 a, f32 b) { return fmodf(a, b); }
|
||||
#endif
|
||||
|
||||
#if PLATFORM_WINDOWS
|
||||
void *vmem_reserve(size_t size) {
|
||||
void *vmem_reserve(usize size) {
|
||||
void *result = (uint8_t *)VirtualAlloc(0, size, MEM_RESERVE, PAGE_READWRITE);
|
||||
return result;
|
||||
}
|
||||
b32 vmem_commit(void *p, size_t size) {
|
||||
b32 vmem_commit(void *p, usize size) {
|
||||
void *result = VirtualAlloc(p, size, MEM_COMMIT, PAGE_READWRITE);
|
||||
return result ? true : false;
|
||||
}
|
||||
@@ -65,15 +65,15 @@ b32 vmem_release(void *p) {
|
||||
BOOL result = VirtualFree(p, 0, MEM_RELEASE);
|
||||
return result ? true : false;
|
||||
}
|
||||
b32 vmem_decommit(void *p, size_t size) {
|
||||
b32 vmem_decommit(void *p, usize size) {
|
||||
BOOL result = VirtualFree(p, size, MEM_DECOMMIT);
|
||||
return result ? true : false;
|
||||
}
|
||||
#else
|
||||
void *vmem_reserve(size_t size) { return NULL; }
|
||||
b32 vmem_commit(void *p, size_t size) { return false; }
|
||||
void *vmem_reserve(usize size) { return NULL; }
|
||||
b32 vmem_commit(void *p, usize size) { return false; }
|
||||
b32 vmem_release(void *p) { return true; }
|
||||
b32 vmem_decommit(void *p, size_t size) { return true; }
|
||||
b32 vmem_decommit(void *p, usize size) { return true; }
|
||||
#endif
|
||||
|
||||
#if PLATFORM_WASM
|
||||
|
||||
@@ -2,7 +2,7 @@ typedef enum lex_kind_t lex_kind_t;
|
||||
enum lex_kind_t {
|
||||
#define LEX_KIND_XLIST\
|
||||
X(eof, "end of file", "---")\
|
||||
X(int, "integer", "---")\
|
||||
X(integer, "integer", "---")\
|
||||
X(real, "real", "---")\
|
||||
X(ident, "identifier", "---")\
|
||||
X(string, "string", "---")\
|
||||
@@ -84,8 +84,8 @@ struct lex_t {
|
||||
s8_t s8;
|
||||
};
|
||||
|
||||
int line;
|
||||
int column;
|
||||
i32 line;
|
||||
i32 column;
|
||||
char *file_name;
|
||||
|
||||
union {
|
||||
@@ -99,14 +99,14 @@ typedef struct lexer_t lexer_t;
|
||||
struct lexer_t {
|
||||
char *at;
|
||||
char *file_name;
|
||||
int line;
|
||||
int column;
|
||||
i32 line;
|
||||
i32 column;
|
||||
};
|
||||
|
||||
typedef struct lex_array_t lex_array_t;
|
||||
struct lex_array_t {
|
||||
lex_t *data;
|
||||
int len;
|
||||
i32 len;
|
||||
};
|
||||
|
||||
void lex_panicf(lex_t *token, const char *str, ...) {
|
||||
@@ -184,7 +184,7 @@ u64 lex_deserial_u64(char *string, i64 len, u64 base) {
|
||||
}
|
||||
|
||||
void lex_eat_number(lexer_t *lex, lex_t *token) {
|
||||
token->kind = lex_kind_int;
|
||||
token->kind = lex_kind_integer;
|
||||
for (;;) {
|
||||
if (char_is_digit(lex->at[0])) {
|
||||
lex_advance(lex);
|
||||
@@ -208,16 +208,16 @@ void lex_eat_number(lexer_t *lex, lex_t *token) {
|
||||
} else if (lex_match(lex, 'd')) {
|
||||
token->kind = lex_kind_real;
|
||||
token->suffix = lex_suffix_d;
|
||||
} else if (token->kind == lex_kind_int && ((lex->at[0] == 'u' && lex->at[1] == 'l' && lex->at[2] == 'l') || (lex->at[0] == 'U' && lex->at[1] == 'L' && lex->at[2] == 'L'))) {
|
||||
} else if (token->kind == lex_kind_integer && ((lex->at[0] == 'u' && lex->at[1] == 'l' && lex->at[2] == 'l') || (lex->at[0] == 'U' && lex->at[1] == 'L' && lex->at[2] == 'L'))) {
|
||||
token->suffix = lex_suffix_ull;
|
||||
lex_advance(lex); lex_advance(lex); lex_advance(lex);
|
||||
} else if (token->kind == lex_kind_int && ((lex->at[0] == 'u' && lex->at[1] == 'l') || (lex->at[0] == 'U' && lex->at[1] == 'L'))) {
|
||||
} else if (token->kind == lex_kind_integer && ((lex->at[0] == 'u' && lex->at[1] == 'l') || (lex->at[0] == 'U' && lex->at[1] == 'L'))) {
|
||||
token->suffix = lex_suffix_ul;
|
||||
lex_advance(lex); lex_advance(lex);
|
||||
} else if (token->kind == lex_kind_int && (lex->at[0] == 'l' || lex->at[0] == 'L')) {
|
||||
} else if (token->kind == lex_kind_integer && (lex->at[0] == 'l' || lex->at[0] == 'L')) {
|
||||
token->suffix = lex_suffix_l;
|
||||
lex_advance(lex);
|
||||
} else if (token->kind == lex_kind_int && ((lex->at[0] == 'l' && lex->at[1] == 'l') || (lex->at[0] == 'L' && lex->at[1] == 'L'))) {
|
||||
} else if (token->kind == lex_kind_integer && ((lex->at[0] == 'l' && lex->at[1] == 'l') || (lex->at[0] == 'L' && lex->at[1] == 'L'))) {
|
||||
token->suffix = lex_suffix_ll;
|
||||
lex_advance(lex); lex_advance(lex);
|
||||
}
|
||||
@@ -366,9 +366,9 @@ void lex_token_ex(lexer_t *lex, lex_t *token) {
|
||||
}
|
||||
}
|
||||
|
||||
token->len = (int)(lex->at - token->str);
|
||||
token->len = (i32)(lex->at - token->str);
|
||||
|
||||
if (token->kind == lex_kind_int) {
|
||||
if (token->kind == lex_kind_integer) {
|
||||
token->integer = lex_deserial_u64(token->str, token->len, 10);
|
||||
} else if (token->kind == lex_kind_real) {
|
||||
token->real = s8_deserial_f64(token->s8);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#define STR_FMT(buff, str) \
|
||||
va_list args1; \
|
||||
va_start(args1, str); \
|
||||
int len = stbsp_vsnprintf(buff, sizeof(buff), str, args1); \
|
||||
i32 len = stbsp_vsnprintf(buff, sizeof(buff), str, args1); \
|
||||
va_end(args1)
|
||||
|
||||
int str_len(char *str) {
|
||||
int i = 0;
|
||||
i32 str_len(char *str) {
|
||||
i32 i = 0;
|
||||
while (str[i]) i += 1;
|
||||
return i;
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ s8_t s8_trim_end(s8_t string) {
|
||||
return result;
|
||||
}
|
||||
|
||||
typedef int s8_seek_t;
|
||||
typedef i32 s8_seek_t;
|
||||
enum {
|
||||
s8_seek_none = 0,
|
||||
s8_seek_ignore_case = 1,
|
||||
@@ -296,7 +296,7 @@ s8_t s8_vfmt(ma_arena_t *ma, const char *str, va_list args1) {
|
||||
va_end(args2);
|
||||
|
||||
char *result = (char *)ma_push_size(ma, sizeof(char) * (len + 1));
|
||||
s8_vsnprintf(result, (int)(len + 1), str, args1);
|
||||
s8_vsnprintf(result, (i32)(len + 1), str, args1);
|
||||
s8_t res = s8(result, len);
|
||||
return res;
|
||||
}
|
||||
@@ -358,7 +358,7 @@ s8_t sb8_merge(sb8_t *sb) {
|
||||
return result;
|
||||
}
|
||||
|
||||
typedef int s8_split_t;
|
||||
typedef i32 s8_split_t;
|
||||
enum {
|
||||
s8_split_none = 0,
|
||||
s8_split_ignore_case = 1,
|
||||
|
||||
@@ -206,7 +206,7 @@ i64 parser__match_i64(parser_t *par) {
|
||||
if (parser_match(par, lex_kind_minus)) {
|
||||
minus = -1;
|
||||
}
|
||||
lex_t *token = parser_expect(par, lex_kind_int);
|
||||
lex_t *token = parser_expect(par, lex_kind_integer);
|
||||
i64 result = (i64)token->integer * minus;
|
||||
return result;
|
||||
}
|
||||
@@ -254,25 +254,25 @@ void s8_deserial_data_ex(ma_arena_t *arena, parser_t *par, void *p, type_t *type
|
||||
return;
|
||||
} break;
|
||||
case type_kind_u8: {
|
||||
lex_t *token = parser_expect(par, lex_kind_int);
|
||||
lex_t *token = parser_expect(par, lex_kind_integer);
|
||||
u8 *n = (u8 *)p;
|
||||
n[0] = (u8)token->integer;
|
||||
return;
|
||||
} break;
|
||||
case type_kind_u16: {
|
||||
lex_t *token = parser_expect(par, lex_kind_int);
|
||||
lex_t *token = parser_expect(par, lex_kind_integer);
|
||||
u16 *n = (u16 *)p;
|
||||
n[0] = (u16)token->integer;
|
||||
return;
|
||||
} break;
|
||||
case type_kind_u32: {
|
||||
lex_t *token = parser_expect(par, lex_kind_int);
|
||||
lex_t *token = parser_expect(par, lex_kind_integer);
|
||||
u32 *n = (u32 *)p;
|
||||
n[0] = (u32)token->integer;
|
||||
return;
|
||||
} break;
|
||||
case type_kind_u64: {
|
||||
lex_t *token = parser_expect(par, lex_kind_int);
|
||||
lex_t *token = parser_expect(par, lex_kind_integer);
|
||||
u64 *n = (u64 *)p;
|
||||
n[0] = (u64)token->integer;
|
||||
return;
|
||||
@@ -295,7 +295,7 @@ void s8_deserial_data_ex(ma_arena_t *arena, parser_t *par, void *p, type_t *type
|
||||
return;
|
||||
} break;
|
||||
case type_kind_usize: {
|
||||
lex_t *token = parser_expect(par, lex_kind_int);
|
||||
lex_t *token = parser_expect(par, lex_kind_integer);
|
||||
usize *n = (usize *)p;
|
||||
n[0] = (usize)token->integer;
|
||||
return;
|
||||
|
||||
@@ -42,7 +42,7 @@ typedef double f64;
|
||||
#define mib(x) (1024ULL * kib(x))
|
||||
#define gib(x) (1024ULL * mib(x))
|
||||
|
||||
#define DEFER_LOOP(begin, end) for (int PASTE(_i_, __LINE__) = (begin, 0); !PASTE(_i_, __LINE__); PASTE(_i_, __LINE__) += (end, 1))
|
||||
#define DEFER_LOOP(begin, end) for (i32 PASTE(_i_, __LINE__) = (begin, 0); !PASTE(_i_, __LINE__); PASTE(_i_, __LINE__) += (end, 1))
|
||||
#define STACK(type, size) struct { type data[size]; i32 len; }
|
||||
#define STACK_PUSH(stack, ...) (assert((stack).len < lengthof((stack).data)), (stack).data[(stack).len++] = __VA_ARGS__)
|
||||
#define STACK_POP(stack) (assert((stack).len > 0), (stack).data[--(stack).len])
|
||||
@@ -297,11 +297,11 @@ struct sb8_t {
|
||||
sb8_node_t *first;
|
||||
sb8_node_t *last;
|
||||
|
||||
int indent;
|
||||
i32 indent;
|
||||
};
|
||||
|
||||
i64 wstr_len(wchar_t *string);
|
||||
int str_len(char *str);
|
||||
i32 str_len(char *str);
|
||||
|
||||
char char_to_lower_case(char a);
|
||||
char char_to_upper_case(char a);
|
||||
|
||||
Reference in New Issue
Block a user