From 6aee2f58754f658bb9da9378ef9af27cb857ebf2 Mon Sep 17 00:00:00 2001 From: Nishi Date: Fri, 19 Jun 2026 06:52:57 +0900 Subject: [PATCH] Add an example --- CMakeLists.txt | 4 ++++ src/sj3test/main.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 src/sj3test/main.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 33f1002..4fbd21b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,3 +17,7 @@ if(UTF8) target_compile_definitions(sj3core PRIVATE UTF8) target_compile_definitions(sj3mkdic PRIVATE UTF8) endif() + +file(GLOB_RECURSE SJ3TEST_SRCS src/sj3test/**.c) +add_executable(sj3test ${SJ3TEST_SRCS}) +target_link_libraries(sj3test PRIVATE sj3core) diff --git a/src/sj3test/main.c b/src/sj3test/main.c new file mode 100644 index 0000000..d9ac370 --- /dev/null +++ b/src/sj3test/main.c @@ -0,0 +1,47 @@ +#include + +int main(int argc, char** argv) { + DictFile* dict; + DICTL* node; + char out[64 * 1024]; + int i = 0; + char c[64 * 1024]; + char b; + + work_base = calloc(1, sizeof(Global)); + node = calloc(1, sizeof(DICTL)); + + dictlist = node; + + initwork(); + + dict = opendict("dic.bin", ""); + + node->dict = &dict->dict; + node->next = NULL; + + seldict(dict->dict.dicid); + + c[0] = 0; + + while(fread(&b, 1, 1, stdin) == 1) { + if(b == '\n') { + } else if(b != '\r') { + int l = strlen(c); + + c[l] = b; + c[l + 1] = 0; + + continue; + } + + i = 0; + while((strlen(c) - i) > 0 && (i += cl2knj(c + i, strlen(c) - i, out))) { + STDYOUT* s = (STDYOUT*)out; + + printf("> %s\n", out + sizeof(STDYOUT)); + } + + c[0] = 0; + } +}