clean libtf

This commit is contained in:
mcolonna 2024-04-23 15:13:51 +02:00
parent a0ad80a375
commit c2c1add4a7
12 changed files with 0 additions and 509 deletions

View file

@ -1,28 +0,0 @@
ALL_BASE=mem str print list error str2 data str3 read mem2
ALL_TOTAL=$(ALL_BASE) printf
COMP=cc -Wall -Werror -Wextra -g -I ../
help :
@echo ""
@echo "RULES: all $(ALL_TOTAL)"
@echo ""
../libtf.a :
make -C ../ fclean debug
$(ALL_BASE) : ../libtf.a
$(COMP) -o $@.out $@.c ../libtf.a
printf : ../libtf.a
$(COMP) -o printf.out -Wno-error=format -Wformat=0 printf.c ../libtf.a
all : $(ALL_TOTAL)
clean :
rm $(addsuffix .out,$(ALL_TOTAL))
fclean : clean
.PHONY : help ../libtf.a $(ALL_TOTAL)

View file

@ -1,24 +0,0 @@
#include "libtf.h"
#include <stdio.h>
int main()
{
char data1[] = "can't the future just wait?";
data_cpy(data1 + 17, data1 + 22, 4);
printf("can't the future wait wait? = %s\n", data1);
char data2[] = "0123456789";
data_cpy(data2 + 3, data2 + 2, 7);
printf("0122345678 = %s\n", data2);
char data3[] = "0123456789";
data_cpy(data3 + 2, data3 + 3, 7);
printf("0134567899 = %s\n", data3);
char data4[] = "0123456789";
data_cpy(data4 + 2, data4 + 2, 7);
printf("0123456789 = %s\n", data4);
data_cpy(data4 + 2, data4 + 4, 0);
printf("0123456789 = %s\n", data4);
}

View file

@ -1,14 +0,0 @@
#include "libtf.h"
#include <stdio.h>
int main(void)
{
printf("(null) = %s\n", err_get());
printf("(null) = %s\n", err_get());
err_remember("msg1");
printf("msg1 = %s\n", err_get());
printf("(null) = %s\n", err_get());
err_remember("msg2");
printf("msg2 = %s\n", err_get());
printf("(null) = %s\n", err_get());
}

View file

@ -1,55 +0,0 @@
#include "libtf.h"
#include <stdio.h>
void err(t_const_string msg)
{
printf("error: %s\n", msg);
}
int main()
{
t_memclass mc = mem_newclass(&err);
int tab[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
t_list list = list_createempty(mc);
for (int i = 0; i < 5; i++)
list_add(&err, &list, &tab[i]);
for (int i = 5; i < 10; i++)
list_revadd(&err, &list, &tab[i]);
printf("9 8 7 6 5 0 1 2 3 4 = ");
for (int i = 0; i < 10; i++)
printf("%i ", *(int *)list_get(&err, &list, i));
printf("\n10 = %i\n", list_getsize(&list));
list_rotate(&list);
printf("8 7 6 5 0 1 2 3 4 9 = ");
for (int i = 0; i < 10; i++)
printf("%i ", *(int *)list_get(&err, &list, i));
list_revrotate(&list);
printf("\n9 8 7 6 5 0 1 2 3 4 = ");
for (int i = 0; i < 10; i++)
printf("%i ", *(int *)list_get(&err, &list, i));
printf("\n\n2 index errors:\n");
list_get(&err, &list, -1);
list_get(&err, &list, 10);
printf("10 = %i\n", list_getsize(&list));
printf("\n");
for (int i = 9; i > 4; i--)
{
int value = *(int *)list_pop(&err, &list);
printf("%i = %i\n", i, value);
}
printf("5 = %i\n", list_getsize(&list));
for (int i = 4; i >= 0; i--)
{
int value = *(int *)list_revpop(&err, &list);
printf("%i = %i\n", i, value);
}
printf("0 = %i\n", list_getsize(&list));
printf("\n2 empty list errors:\n");
list_pop(&err, &list);
list_revpop(&err, &list);
mem_freeall(mc);
printf("\nMust have no leaks\n");
}

View file

@ -1,50 +0,0 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* mem.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/18 11:23:58 by mcolonna #+# #+# */
/* Updated: 2024/01/15 14:38:30 by marvin ### ########.fr */
/* */
/* ************************************************************************** */
#include "libtf.h"
#include <stdio.h>
void err(const char *msg)
{
printf("error: %s\n", msg);
}
int main(void)
{
t_memclass mc1, mc2, mc3;
char *a, *b, *c;
(void)(a); (void)(b); (void)(c);
mc1 = mem_newclass(&err);
mem_freeall(mc1);
mc2 = mem_newclass(&err);
a = mem_alloc(&err, mc2, 2);
mem_freeall(mc2);
mc3 = mem_newclass(&err);
a = mem_alloc(&err, mc3, 2);
b = mem_alloc(&err, mc3, 2);
c = mem_alloc(&err, mc3, 2);
mem_free(b);
b = mem_alloc(&err, mc3, 2);
mem_free(b);
mem_freeall(mc3);
t_memclass mc4;
mc4 = mem_newclass(&err);
a = mem_alloc(&err, mc4, 2);
b = mem_alloc(&err, mc4, 2);
c = mem_alloc(&err, mc4, 2);
mem_free(a);
mem_free(b);
mem_free(c);
mem_freeall(mc4);
}

View file

@ -1,44 +0,0 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* mem2.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/18 11:23:58 by mcolonna #+# #+# */
/* Updated: 2024/03/11 13:44:48 by mcolonna ### ########.fr */
/* */
/* ************************************************************************** */
#include "libtf.h"
#include <stdio.h>
void err(const char *msg)
{
printf("error: %s\n", msg);
}
int main(void)
{
t_memclass mc1, mc2, mc3;
mc1 = mem_newclass(err);
mem_alloc(err, mc1, 4);
mem_alloc(err, mc1, 6);
mc2 = mem_subclass(err, mc1);
mem_alloc(err, mc2, 8);
mc3 = mem_subclass(err, mc2);
mem_alloc(err, mc3, 8);
mem_alloc(err, mc3, 5);
mem_freeall(mc1);
mc1 = mem_newclass(err);
mem_alloc(err, mc1, 4);
mem_alloc(err, mc1, 6);
mc2 = mem_subclass(err, mc1);
mem_alloc(err, mc2, 8);
mc3 = mem_subclass(err, mc2);
mem_alloc(err, mc3, 8);
mem_alloc(err, mc3, 5);
mem_freeall(mc3);
mem_freeall(mc1);
}

View file

@ -1,7 +0,0 @@
#include "libtf.h"
int main()
{
print_str(NULL, 1, "Hello ");
print_line(NULL, 1, "World!");
}

View file

@ -1,105 +0,0 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* printf.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/16 17:55:23 by mcolonna #+# #+# */
/* Updated: 2024/02/12 13:03:35 by mcolonna ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdio.h>
#include "libtf.h"
#define TEST(...)\
test(printf(__VA_ARGS__)); \
test(tf_printf(__VA_ARGS__)); \
printf("---\n");
void title(const char *str)
{
fflush(stdout);
while (str[0] == '\t')
{
printf(" ");
str = str + 1;
}
printf("\e[3m %s \e[0m\n", str);
fflush(stdout);
}
void test(int r)
{
fflush(stdout);
printf(" (%d)\n", r);
fflush(stdout);
}
int main(void)
{
int p;
void* n = NULL;
title("Basic strings");
TEST("Hello world!");
TEST("he");
TEST("YEYEYEYEYEYEEY");
title("All conversions");
title("\t%c");
TEST("%c", '4');
TEST("%c", '#');
TEST("%c", '\0');
title("\t%s");
TEST("%s", "42");
TEST("%s", "");
TEST("%s", (char *)n);
title("\t%p");
TEST("%p", &p);
TEST("%p", n);
TEST("%p", n - 42);
title("\t%d");
TEST("%d", 42);
TEST("%d", 393820202);
TEST("%d", 0);
TEST("%d", -42);
TEST("%d", -3838383);
title("\t%i");
TEST("%i", 42);
TEST("%i", 393820202);
TEST("%i", 0);
TEST("%i", -42);
TEST("%i", -3838383);
title("\t%u");
TEST("%u", 42);
TEST("%u", 0);
TEST("%u", 3893838);
title("\t%x");
TEST("%x", 42);
TEST("%x", 0);
TEST("%x", 3893838);
title("\t%X");
TEST("%X", 42);
TEST("%X", 0);
TEST("%X", 3893838);
title("\t%%");
TEST("%%");
title("Combinations");
TEST("The %d %s!", 42, "School");
TEST("%d + %d + %d", 1, 1, 3);
TEST("%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
'T', 'h', 'e', ' ',
'4', '2', ' ',
'S', 'c', 'h', 'o', 'o', 'l', '!');
TEST("%c%c = %s = %d = %i", '4', '2', "42", 42, 42);
TEST("%p / %p", &p, n);
TEST("%i = %u = %d = %X = %x", 42, 42, 42, 42, 42);
TEST("%i = %d", -42, -42);
TEST("%d%% < %d%%", 99, 100);
TEST("%c %s %p %d %i %u %x %X %%", '4', "42", n + 42, 42, 42, 42, 42, 42);
TEST("%c %s %p %d %i %u %x %X %%", '\0', (char *)n, n, 0, 0, 0, 0, 0);
}

View file

@ -1,33 +0,0 @@
#include "libtf.h"
#define LINE tf_printf("Line: \"%s\"\n", read_line(err, mc, fd))
void err(t_const_string msg)
{
tf_printf("[error: %s]\n", msg);
}
int main()
{
t_memclass mc = mem_newclass(err);
int fd;
tf_printf("2 bad value errors:\n");
fd = -2;
LINE;
fd = 32767;
LINE;
tf_printf("1 file error:\n");
fd = 100;
LINE;
tf_printf("Copy what you say for 5 lines:\n");
fd = 0;
LINE;
LINE;
LINE;
LINE;
LINE;
mem_freeall(mc);
}

View file

@ -1,86 +0,0 @@
#include "libtf.h"
#include <stdio.h>
void err(t_const_string msg)
{
printf("error: %s\n", msg);
}
int main()
{
t_memclass mc = mem_newclass(&err);
printf("Must spell 'Hello world!':\n");
t_const_string str = "Hello world!";
t_stream streaaam;
streamstr_init(&streaaam, str);
t_stream *stream = &streaaam;
while(stream_read(stream))
{
printf("read: %c\n", stream_read(stream));
printf("pop: %c\n", stream_pop(stream));
}
printf("\nChar\tw or 2?\tDigit?\tUpper?\tLower?\tAlpha?\tAlphanum?\n");
const char chars[] = {'a','w','W','2','d','{','\0'};
for (int i = 0; i < 7; i++)
printf("%c\t%i\t%i\t%i\t%i\t%i\t%i\n",
chars[i],
char_isin(chars[i], "w2"),
char_isdigit(chars[i]),
char_isupper(chars[i]),
char_islower(chars[i]),
char_isalpha(chars[i]),
char_isalphanum(chars[i])
);
printf("\nMust say nothing:\n");
stream = streamstr_alloc(&err, mc, " 98 2 ,,. 655yolo");
stream_skip(stream, " .,");
if (stream_readuint(&err, stream) != 98)
err("damn 1");
stream_skip(stream, " .,");
if (stream_readuint(&err, stream) != 2)
err("damn 2");
stream_skip(stream, " .,");
if (stream_readuint(&err, stream) != 655)
err("damn");
printf("\nMust get 2 value errors:\n");
stream_readuint(&err, stream);
stream = streamstr_alloc(&err, mc, "2878979367836578265278276537");
stream_readuint(&err, stream);
printf("\nstr to int:\n");
printf("'%s' = %i\n", "23", str_touint(&err, "23"));
printf("'%s' = %i\n", "0", str_touint(&err, "0"));
printf("bad value = ");
str_touint(&err, "-42");
printf("bad value = ");
str_touint(&err, " 17");
printf("bad value = ");
str_touint(&err, "17 ");
printf("bad value = ");
str_touint(&err, "");
printf("bad value = ");
str_touint(&err, "17b");
printf("bad value = ");
str_touint(&err, "b17");
printf("bad value = ");
str_touint(&err, "+42");
printf("'%s' = %i\n", "23", str_toint(&err, "23"));
printf("'%s' = %i\n", "0", str_toint(&err, "0"));
printf("'%s' = %i\n", "-42", str_toint(&err, "-42"));
printf("bad value = ");
str_toint(&err, " 17");
printf("bad value = ");
str_toint(&err, "17 ");
printf("bad value = ");
str_toint(&err, "");
printf("bad value = ");
str_toint(&err, "17b");
printf("bad value = ");
str_toint(&err, "b17");
printf("'%s' = %i\n", "+42", str_toint(&err, "+42"));
printf("\nMust have no leak with valgrind.\n");
mem_freeall(mc);
}

View file

@ -1,28 +0,0 @@
#include "libtf.h"
#include <stdio.h>
void err(t_const_string msg)
{
printf("<error %s>\n", msg);
}
int main(void)
{
t_memclass mc = mem_newclass(&err);
t_string *arr;
arr = str_split(err, mc, " Hello \nworld\n \n ! ", "\n ");
printf("'Hello' = '%s'\n", arr[0]);
printf("'world' = '%s'\n", arr[1]);
printf("'!' = '%s'\n", arr[2]);
printf("'(null)' = '%s'\n", arr[3]);
arr = str_split(err, mc, "\n\n\n\n ", "\n ");
printf("'(null)' = '%s'\n", arr[0]);
arr = str_split(err, mc, "", "\n ");
printf("'(null)' = '%s'\n", arr[0]);
arr = str_split(err, mc, "yo", "\n ");
printf("'yo' = '%s'\n", arr[0]);
printf("'(null)' = '%s'\n", arr[1]);
mem_freeall(mc);
}

View file

@ -1,35 +0,0 @@
#include "libtf.h"
#include <limits.h>
#include <stdio.h>
int main()
{
t_memclass mc = mem_newclass(err_remember);
char *yo = "Hello ";
char *we = "world!";
printf("%s\n", str_join(err_remember, mc, yo, we));
printf("%i = %s\n", 0, str_inttostr(err_remember, mc, 0));
printf("%i = %s\n", 7, str_inttostr(err_remember, mc, 7));
printf("%i = %s\n", 3892, str_inttostr(err_remember, mc, 3892));
printf("%i = %s\n", -1, str_inttostr(err_remember, mc, -1));
printf("%i = %s\n", -90430, str_inttostr(err_remember, mc, -90430));
printf("%i = %s\n", INT_MAX, str_inttostr(err_remember, mc, INT_MAX));
printf("%i = %s\n", INT_MIN, str_inttostr(err_remember, mc, INT_MIN));
printf("%u = %s\n", 0, str_uinttostr(err_remember, mc, 0));
printf("%u = %s\n", 7, str_uinttostr(err_remember, mc, 7));
printf("%u = %s\n", 3892, str_uinttostr(err_remember, mc, 3892));
printf("%u = %s\n", INT_MAX, str_uinttostr(err_remember, mc, INT_MAX));
printf("%u = %s\n", UINT_MAX, str_uinttostr(err_remember, mc, UINT_MAX));
printf("%i = %i\n", 1, str_eq("", ""));
printf("%i = %i\n", 0, str_eq("one", ""));
printf("%i = %i\n", 0, str_eq("", "two"));
printf("%i = %i\n", 0, str_eq("one", "two"));
printf("%i = %i\n", 1, str_eq("one", "one"));
printf("%i = %i\n", 0, str_eq("onetwo", "one"));
printf("%i = %i\n", 0, str_eq("one", "onetwo"));
mem_freeall(mc);
}