summaryrefslogtreecommitdiff
path: root/src/MSL_C.PPCEABI.bare.H/buffer_io.c
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2023-02-02 17:29:19 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2023-02-03 13:27:06 -0400
commitf2eabdb6257c09cf2890dac5e9737912728542af (patch)
tree3b46f6787185d65605651a0f48776dc9779ce648 /src/MSL_C.PPCEABI.bare.H/buffer_io.c
parenteef1dd840b7cecac28c2e6b0574707b90a37d4e7 (diff)
global: Add rest of Dolphin SDK proper, add MSL, and MetroTRK
Finally, it links properly.
Diffstat (limited to 'src/MSL_C.PPCEABI.bare.H/buffer_io.c')
-rw-r--r--src/MSL_C.PPCEABI.bare.H/buffer_io.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/MSL_C.PPCEABI.bare.H/buffer_io.c b/src/MSL_C.PPCEABI.bare.H/buffer_io.c
new file mode 100644
index 0000000..e760ba8
--- /dev/null
+++ b/src/MSL_C.PPCEABI.bare.H/buffer_io.c
@@ -0,0 +1,43 @@
+#include "buffer_io.h"
+
+void __convert_from_newlines(unsigned char* buf, size_t* n) {
+}
+
+void __convert_to_newlines(unsigned char* buf, size_t* n) {
+}
+
+void __prep_buffer(FILE* file) {
+ file->buffer_ptr = file->buffer;
+ file->buffer_len = file->buffer_size;
+ file->buffer_len -= file->position & file->buffer_alignment;
+ file->buffer_pos = file->position;
+}
+
+int __flush_buffer(FILE* file, size_t* bytes_flushed) {
+ size_t buffer_len;
+ int ioresult;
+
+ buffer_len = file->buffer_ptr - file->buffer;
+
+ if (buffer_len) {
+ file->buffer_len = buffer_len;
+
+ if (!file->mode.binary_io)
+ __convert_from_newlines(file->buffer, (size_t*)&file->buffer_len);
+
+ ioresult = (*file->write_proc)(file->handle, file->buffer, (size_t*)&file->buffer_len,
+ file->idle_proc);
+
+ if (bytes_flushed)
+ *bytes_flushed = file->buffer_len;
+
+ if (ioresult)
+ return (ioresult);
+
+ file->position += file->buffer_len;
+ }
+
+ __prep_buffer(file);
+
+ return 0;
+}