summaryrefslogtreecommitdiff
path: root/src/code/__osMemset.c
blob: 703d3a8c1e337f0bfc404eb21857fae684cf7684 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "global.h"

/**
 * memset: sets `len` bytes to `val` starting at address `dest`.
 *
 * @see There are two other memsets in this codebase, Lib_MemSet(), MemSet()
 *
 * @param dest address to start at
 * @param val value to write (s32, but interpreted as u8)
 * @param len number of bytes to write
 *
 * @return dest
 */
void* __osMemset(void* dest, s32 val, size_t len) {
    u8* ptr = dest;

    while (len--) {
        *ptr++ = val;
    }
    return dest;
}