diff options
author | Mitya Selivanov <automainint@guattari.tech> | 2023-09-12 03:18:06 +0200 |
---|---|---|
committer | Mitya Selivanov <automainint@guattari.tech> | 2023-09-12 03:18:06 +0200 |
commit | f0f23e874dd19a4fa3e41c8b489aa1f3fbd792c0 (patch) | |
tree | fdbd7af3fb7fe28959e5b983d10da3ca66078567 /source/kit/input_stream.c | |
parent | d16209180486738187487737832ba5675d5935ce (diff) | |
download | kit-f0f23e874dd19a4fa3e41c8b489aa1f3fbd792c0.zip |
Refactor; CAS atomics
Diffstat (limited to 'source/kit/input_stream.c')
-rw-r--r-- | source/kit/input_stream.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/source/kit/input_stream.c b/source/kit/input_stream.c index a975fef..369cf64 100644 --- a/source/kit/input_stream.c +++ b/source/kit/input_stream.c @@ -5,42 +5,41 @@ enum { KIT_INPUT_STREAM_STR, KIT_INPUT_STREAM_FILE }; typedef struct { - ptrdiff_t type; + i64 type; kit_allocator_t *alloc; } kit_is_state_basic_t; typedef struct { - ptrdiff_t type; + i64 type; kit_allocator_t *alloc; kit_str_t string; } kit_is_state_str_t; typedef struct { - ptrdiff_t type; + i64 type; kit_allocator_t *alloc; FILE *file; } kit_is_state_file_t; -static int kit_is_check_type_(void *state, ptrdiff_t type) { +static int kit_is_check_type_(void *state, i64 type) { kit_is_state_basic_t *basic = (kit_is_state_basic_t *) state; return basic != NULL && basic->type == type; } -static ptrdiff_t kit_read_str_(void *state, kit_str_t destination) { +static i64 kit_read_str_(void *state, kit_str_t destination) { if (!kit_is_check_type_(state, KIT_INPUT_STREAM_STR)) return 0; - kit_is_state_str_t *str = (kit_is_state_str_t *) state; - ptrdiff_t size = destination.size < str->string.size - ? destination.size - : str->string.size; + kit_is_state_str_t *str = (kit_is_state_str_t *) state; + i64 size = destination.size < str->string.size ? destination.size + : str->string.size; memcpy(destination.values, str->string.values, size); str->string.values += size; str->string.size -= size; return size; } -static ptrdiff_t kit_read_file_(void *state, kit_str_t destination) { +static i64 kit_read_file_(void *state, kit_str_t destination) { if (!kit_is_check_type_(state, KIT_INPUT_STREAM_FILE)) return 0; @@ -49,8 +48,8 @@ static ptrdiff_t kit_read_file_(void *state, kit_str_t destination) { if (f->file == NULL || feof(f->file)) return 0; - ptrdiff_t size = (ptrdiff_t) fread(destination.values, 1, - destination.size, f->file); + i64 size = (i64) fread(destination.values, 1, destination.size, + f->file); if (size <= 0) return 0; |