-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.c
124 lines (115 loc) · 3.16 KB
/
main.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* main.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tsignore <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2021/05/11 22:28:57 by tsignore #+# #+# */
/* Updated: 2021/05/12 11:25:30 by tsignore ### ########.fr */
/* */
/* ************************************************************************** */
#include "libasm.h"
void printel(t_list *e)
{
printf("|%p|[%p][%p]-> \"%s\"\n [%p]\t\t-> %p\n", e, &(e->data), e->data, e->data, &(e->next), e->next);
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
}
void print_list(t_list *e)
{
while (e)
{
printel(e);
e = e->next;
}
}
int free_list(t_list *e)
{
t_list *tmp;
tmp = e;
while (tmp)
{
e = e->next;
free(tmp);
tmp = e;
}
return (0);
}
void ft_rem(void *data)
{
char *s;
s = data;
printf("removing: \"%s\"\n", s);
for (size_t ndx = 0 ; s[ndx] != '\0' ; ndx++)
s[ndx] = 'X';
printf("------------->\t\"%s\"\n", s);
}
int fcmp(void *a, void *b)
{
return (ft_strcmp((char*)a, (char*)b));
}
int main(int ac, char **av)
{
char *strs[11];
char str0[] = "Vianney";
char str1[] = "Mindless Self Indulgence";
char str2[] = "Stupeflip";
char str3[] = "Superorganism";
char str4[] = "Gorillaz";
char str5[] = "Magoyond";
char str6[] = "Vianney";
char str7[] = "Master Boot Record";
char str8[] = "Rage Against The Machine";
char str9[] = "Keygen Church";
int ndx;
t_list *ptr;
char rep;
strs[0] = str0;
strs[1] = str1;
strs[2] = str2;
strs[3] = str3;
strs[4] = str4;
strs[5] = str5;
strs[6] = str6;
strs[7] = str7;
strs[8] = str8;
strs[9] = str9;
strs[10] = NULL;
ptr = NULL;
(void)av;
printf("--- ft_atoi_base ---\n");
ndx = ft_atoi_base(NULL, "01");//
ndx = ft_atoi_base("1972", NULL);//
if (ac >= 3)
printf("[%s] \"%s\" => %i\n", av[2], av[1], ft_atoi_base(av[1], av[2]));//
else
printf("No argument supplied.\n");
write(1, "next ? y/n: ", 12);
ft_read(0, &rep, 1);
if (rep != 'y')
return (free_list(ptr));
system("clear");
printf("--- ft_list ---\n");
printf("size [%p] %zu\n\n", ptr, ft_list_size(ptr));//
ft_list_push_front(&ptr, "BEGIN");//
ndx = 0;
while (strs[ndx])
{
ft_list_push_front(&ptr, strs[ndx]);//
ndx++;
}
printf("size [%p] %zu\n\n", ptr, ft_list_size(ptr));//
print_list(ptr);
printf("-- removing the Vianneys lol --\n");
ft_list_remove_if(NULL, "Vianney", &fcmp, &ft_rem);//
ft_list_remove_if(&ptr, "Vianney", NULL, NULL);//
ft_list_remove_if(&ptr, "Vianney", &fcmp, &ft_rem);//
printf("\n");
print_list(ptr);
ft_list_sort(NULL, &fcmp);//
ft_list_sort(&ptr, NULL);//
ft_list_sort(&ptr, &fcmp);//
printf("-- sorted --\n");
print_list(ptr);
return (free_list(ptr));
}