summaryrefslogtreecommitdiff
path: root/userland/libc/memset.c
blob: 6baa3cad24fa30138f7c3f3088304ca73ba16fce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stddef.h>

// https://pubs.opengroup.org/onlinepubs/9699919799/
void *memset(void *s, int c, size_t n) {
  // The memset() function shall copy c (converted to an unsigned
  // char) into each of the first n bytes of the object pointed to by
  // s.

  unsigned char *p = s;
  for (; n > 0; n--, p++) {
    *p = (unsigned char)c;
  }

  // The memset() function shall return s
  return s;
}