summaryrefslogtreecommitdiff
path: root/userland/libc/memset.c
blob: 51910e974d25256d19a83c4523b926d6c055af0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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;
}