summaryrefslogtreecommitdiff
path: root/src/code/code_80069420.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/code/code_80069420.c')
-rw-r--r--src/code/code_80069420.c44
1 files changed, 34 insertions, 10 deletions
diff --git a/src/code/code_80069420.c b/src/code/code_80069420.c
index 3d656cfb0..6dd0a94f4 100644
--- a/src/code/code_80069420.c
+++ b/src/code/code_80069420.c
@@ -1,23 +1,47 @@
#include "global.h"
-void* MemCopy(void* dest, void* src, s32 size) {
- u8* destu = (u8*)dest;
- u8* srcu = (u8*)src;
+/**
+ * memcpy: copies `len` bytes from memory starting at `src` to memory starting at `dest`. Expects the memory
+ * specified by `src` and `dest` to not overlap.
+ *
+ * @see libultra also has a memcpy().
+ *
+ * @param dest address of start of buffer writing to
+ * @param src address of start of buffer to read from
+ * @param len number of bytes to copy. (`s32` rather than the standard `size_t`)
+ *
+ * @return dest
+ */
+void* MemCpy(void* dest, const void* src, s32 len) {
+ u8* d = dest;
+ const u8* s = src;
- while (size > 0) {
- *destu++ = *srcu++;
- size--;
+ while (len > 0) {
+ *d++ = *s++;
+ len--;
}
return dest;
}
-void* MemSet(void* dest, s32 val, s32 size) {
- u8* destu = (u8*)dest;
- s32 s = size;
+/**
+ * memset: sets `len` bytes to `val` starting at address `dest`.
+ *
+ * @see There are two other memsets in this codebase, Lib_MemSet(), __osMemset().
+ * This one is unused.
+ *
+ * @param dest address to start at
+ * @param val value to write (`s32`, but interpreted as `u8`)
+ * @param len number of bytes to write. (`s32` rather than the standard `size_t`)
+ *
+ * @return dest
+ */
+void* MemSet(void* dest, s32 val, s32 len) {
+ u8* d = dest;
+ s32 s = len;
while (s > 0) {
- *destu++ = val;
+ *d++ = val;
s--;
}