aboutsummaryrefslogtreecommitdiff
path: root/ft_memccpy.c
blob: 9cc483aad8eacbb56454a58936e238d12ce13ebe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <string.h>

void    *ft_memccpy(void *dest, const void *src, int c, size_t n)
{
    size_t i;
    unsigned char   *uc_dest;
    unsigned char   *uc_src;

    uc_dest = (unsigned char*)dest;
    uc_src = (unsigned char*)src;
    i = 0;
    while (i < n)
    {
        uc_dest[i] = uc_src[i];
        if (uc_dest[i] == (unsigned char)c)
            break ;
        i++;
    }
    if (i == n)
        return (NULL);
    return (dest + i + 1);
}