85 lines
3.0 KiB
C
85 lines
3.0 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* ex10.c :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: achubuko <achubuko@student.42yerevan.am> +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* Created: 2023/11/28 01:25:43 by achubuko #+# #+# */
|
|
/* Updated: 2023/11/28 01:26:11 by achubuko ### ########.fr */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#include <tests.h>
|
|
#include <stdlib.h>
|
|
#define TEST_BUF_SIZE 100
|
|
|
|
unsigned int ft_strlcpy(char *dest, char *src, unsigned int size);
|
|
|
|
int main(void)
|
|
{
|
|
char s[TEST_BUF_SIZE] = TEST_SOURCE;
|
|
char d[TEST_BUF_SIZE] = TEST_DESTINATION;
|
|
size_t r1;
|
|
char s1[TEST_BUF_SIZE] = TEST_SOURCE;
|
|
char d1[TEST_BUF_SIZE] = TEST_DESTINATION;
|
|
size_t r2;
|
|
char s2[TEST_BUF_SIZE] = TEST_SOURCE;
|
|
char d2[TEST_BUF_SIZE] = TEST_DESTINATION;
|
|
|
|
printf("initial strings:\n");
|
|
dump(s, TEST_SOURCE_LENGHT);
|
|
dump(d, TEST_DESTINATION_LENGHT);
|
|
|
|
printf("strlcpy(d, s, 4):\n");
|
|
r1 = strlcpy(d1, s1, 4);
|
|
dump(s1, TEST_SOURCE_LENGHT);
|
|
dump(d1, TEST_DESTINATION_LENGHT);
|
|
printf("ft_strlcpy(d, s, 4:\n");
|
|
r2 = ft_strlcpy(d2, s2, 4);
|
|
dump(s2, TEST_SOURCE_LENGHT);
|
|
dump(d2, TEST_DESTINATION_LENGHT);
|
|
printf("buffers comparison: s:%i d:%i\n",
|
|
bufcmp(s1, s2, TEST_SOURCE_LENGHT),
|
|
bufcmp(d1, d2, TEST_DESTINATION_LENGHT));
|
|
printf("return values: orig: %lu ft: %lu\n", r1, r2);
|
|
memcpy(d1, d, TEST_BUF_SIZE);
|
|
memcpy(s1, s, TEST_BUF_SIZE);
|
|
memcpy(d2, d, TEST_BUF_SIZE);
|
|
memcpy(s2, s, TEST_BUF_SIZE);
|
|
|
|
printf("strlcpy(d, s, 20):\n");
|
|
r1 = strlcpy(d1, s1, 20);
|
|
dump(s1, TEST_SOURCE_LENGHT);
|
|
dump(d1, TEST_DESTINATION_LENGHT);
|
|
printf("ft_strlcpy(d, s, 20):\n");
|
|
r2 = ft_strlcpy(d2, s2, 20);
|
|
dump(s2, TEST_SOURCE_LENGHT);
|
|
dump(d2, TEST_DESTINATION_LENGHT);
|
|
memcpy(d1, d, TEST_BUF_SIZE);
|
|
memcpy(s1, s, TEST_BUF_SIZE);
|
|
memcpy(d2, d, TEST_BUF_SIZE);
|
|
memcpy(s2, s, TEST_BUF_SIZE);
|
|
printf("buffers comparison: s:%i d:%i\n",
|
|
bufcmp(s1, s2, TEST_SOURCE_LENGHT),
|
|
bufcmp(d1, d2, TEST_DESTINATION_LENGHT));
|
|
printf("return values: orig: %lu ft: %lu\n", r1, r2);
|
|
|
|
printf("strlcpy(s, d, 20):\n");
|
|
r1 = strlcpy(s1, d1, 20);
|
|
dump(s1, TEST_SOURCE_LENGHT);
|
|
dump(d1, TEST_DESTINATION_LENGHT);
|
|
printf("ft_strlcpy(s, d, 20):\n");
|
|
r2 = ft_strlcpy(s2, d2, 20);
|
|
dump(s2, TEST_SOURCE_LENGHT);
|
|
dump(d2, TEST_DESTINATION_LENGHT);
|
|
memcpy(d1, d, TEST_BUF_SIZE);
|
|
memcpy(s1, s, TEST_BUF_SIZE);
|
|
memcpy(d2, d, TEST_BUF_SIZE);
|
|
memcpy(s2, s, TEST_BUF_SIZE);
|
|
printf("buffers comparison: s:%i d:%i\n",
|
|
bufcmp(s1, s2, TEST_SOURCE_LENGHT),
|
|
bufcmp(d1, d2, TEST_DESTINATION_LENGHT));
|
|
printf("return values: orig: %lu ft: %lu\n", r1, r2);
|
|
}
|