diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..9bbab7e --- /dev/null +++ b/build.sh @@ -0,0 +1,5 @@ +#!/bin/sh +CFLAGS="-std=c11 -pedantic -Wall -Wextra" +mkdir -p build +clang $CFLAGS -fPIC -shared mod.c -o build/libmod.so +clang $CFLAGS -Lbuild -lmod main.c -o build/demo diff --git a/main.c b/main.c new file mode 100644 index 0000000..1b6a749 --- /dev/null +++ b/main.c @@ -0,0 +1,22 @@ +/* + * Copyright (c) Camden Dixie O'Brien + * SPDX-License-Identifier: AGPL-3.0-only + */ + +#define _POSIX_C_SOURCE 199309L + +#include "mod.h" + +#include +#include + +int main(void) +{ + const struct timespec pause = { .tv_nsec = 16666667 }; + while (1) { + printf("\33[2K\r%s", getmsg()); + fflush(stdout); + nanosleep(&pause, NULL); + } + return 0; +} diff --git a/mod.c b/mod.c new file mode 100644 index 0000000..70d9285 --- /dev/null +++ b/mod.c @@ -0,0 +1,11 @@ +/* + * Copyright (c) Camden Dixie O'Brien + * SPDX-License-Identifier: AGPL-3.0-only + */ + +#include "mod.h" + +const char *getmsg(void) +{ + return "hi"; +} diff --git a/mod.h b/mod.h new file mode 100644 index 0000000..3b18702 --- /dev/null +++ b/mod.h @@ -0,0 +1,11 @@ +/* + * Copyright (c) Camden Dixie O'Brien + * SPDX-License-Identifier: AGPL-3.0-only + */ + +#ifndef MOD_H +#define MOD_H + +const char *getmsg(void); + +#endif