aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/tests/posix/fopencookie.c
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2024-03-07 17:28:52 -0500
committerIan Moffett <ian@osmora.org>2024-03-07 18:24:51 -0500
commitf5e48e94a2f4d4bbd6e5628c7f2afafc6dbcc459 (patch)
tree93b156621dc0303816b37f60ba88051b702d92f6 /lib/mlibc/tests/posix/fopencookie.c
parentbd5969fc876a10b18613302db7087ef3c40f18e1 (diff)
build: Build mlibc + add distclean target
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'lib/mlibc/tests/posix/fopencookie.c')
-rw-r--r--lib/mlibc/tests/posix/fopencookie.c69
1 files changed, 0 insertions, 69 deletions
diff --git a/lib/mlibc/tests/posix/fopencookie.c b/lib/mlibc/tests/posix/fopencookie.c
deleted file mode 100644
index 4325038..0000000
--- a/lib/mlibc/tests/posix/fopencookie.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
-#include <assert.h>
-#include <stdbool.h>
-#include <stdio.h>
-
-struct testcookie {
- bool read;
- bool write;
- bool seek;
- bool close;
-};
-
-ssize_t cookie_read(void *c, char *buf, size_t size) {
- (void) buf;
- struct testcookie *cookie = c;
- cookie->read = true;
- return size;
-}
-
-ssize_t cookie_write(void *c, const char *buf, size_t size) {
- (void) buf;
- struct testcookie *cookie = c;
- cookie->write = true;
- return size;
-}
-
-int cookie_seek(void *c, off64_t *offset, int whence) {
- (void) offset;
- (void) whence;
- struct testcookie *cookie = c;
- cookie->seek = true;
- return 0;
-}
-
-int cookie_close(void *c) {
- struct testcookie *cookie = c;
- cookie->close = true;
- return 0;
-}
-
-int main() {
- struct testcookie cookie = { false, false, false, false };
-
- cookie_io_functions_t funcs = {
- .read = cookie_read,
- .write = cookie_write,
- .seek = cookie_seek,
- .close = cookie_close,
- };
-
- FILE *stream = fopencookie(&cookie, "w+", funcs);
- assert(stream);
-
- unsigned char buf[1];
- int ret = fread(buf, 1, 1, stream);
- assert(ret == 1);
- ret = fwrite(buf, 1, 1, stream);
- assert(ret == 1);
- ret = fseek(stream, 0, SEEK_SET);
- assert(!ret);
-
- ret = fclose(stream);
- assert(!ret);
-
- assert(cookie.read && cookie.write && cookie.seek && cookie.close);
-}