diff options
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 48 |
1 files changed, 4 insertions, 44 deletions
@@ -16,54 +16,14 @@ #include <stdio.h> #include <string.h> -#include <alisp.h> +#include "./alisp.h" int main(void) { stream_t stream = {0}; - char _data[] = "Hello, world!"; - sv_t data = SV(_data, ARRSIZE(_data) - 1); - char filename[] = "lorem.txt"; - - // stream_init_string(&stream, NULL, data); - - FILE *fp = fopen(filename, "rb"); - stream_init_file(&stream, filename, fp); - - // stream_init_file(&stream, "stdin", stdin); - - /// test 1 - do - { - printf("%s[%lu]: `%c`\n", stream.name, stream.position, - stream_next(&stream)); - } while (!stream_eoc(&stream)); - printf("%lu/%lu\n", stream.position, stream_size(&stream)); - - /// test 2 - stream.position = 0; - sv_t a = stream_substr(&stream, 100); - sv_t a_ = sv_copy(a); - stream_seek(&stream, 100); - sv_t b = stream_substr_abs(&stream, 0, 100); - sv_t b_ = sv_copy(b); - printf("a=b ? %s\na_=b_ ? %s\n", - memcmp(&a, &b, sizeof(a)) == 0 ? "yes" : "no", - a_.size == b_.size && strncmp(a_.data, b_.data, a_.size) == 0 ? "yes" - : "no"); - sv_t c = stream_substr(&stream, 100); - sv_t c_ = sv_copy(c); - stream_seek(&stream, 100); - sv_t d = stream_substr_abs(&stream, stream.position - 100, 100); - sv_t d_ = sv_copy(d); - printf("c=d ? %s\nc_=d_ ? %s\n", - memcmp(&c, &d, sizeof(a)) == 0 ? "yes" : "no", - c_.size == d_.size && strncmp(c_.data, d_.data, c_.size) == 0 ? "yes" - : "no"); - - printf("eoc?=%s\n", stream_eoc(&stream) ? "yes" : "no"); - + stream_init_pipe(&stream, "<stdin>", stdin); + sv_t sv = stream_substr(&stream, 10); + printf("=> `" PR_SV "`\n", SV_FMT(sv)); stream_stop(&stream); - // fclose(fp); return 0; } |
