summaryrefslogtreecommitdiff
path: root/source/kit/input_stream.c
diff options
context:
space:
mode:
authorMitya Selivanov <automainint@guattari.tech>2023-09-12 03:18:06 +0200
committerMitya Selivanov <automainint@guattari.tech>2023-09-12 03:18:06 +0200
commitf0f23e874dd19a4fa3e41c8b489aa1f3fbd792c0 (patch)
treefdbd7af3fb7fe28959e5b983d10da3ca66078567 /source/kit/input_stream.c
parentd16209180486738187487737832ba5675d5935ce (diff)
downloadkit-f0f23e874dd19a4fa3e41c8b489aa1f3fbd792c0.zip
Refactor; CAS atomics
Diffstat (limited to 'source/kit/input_stream.c')
-rw-r--r--source/kit/input_stream.c23
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;