From 401c458dee5905178414410ad4ed017a82adc77a Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Wed, 20 Nov 2019 23:04:03 +0100 Subject: [PATCH] lstdelone est ecrit avec un main --- srcs/bonus/.ft_lstdelone.c.swp | Bin 12288 -> 0 bytes srcs/bonus/a.out | Bin 8704 -> 8744 bytes srcs/bonus/ft_lstdelone.c | 195 ++++++++++++++++++--------------- 3 files changed, 104 insertions(+), 91 deletions(-) delete mode 100644 srcs/bonus/.ft_lstdelone.c.swp diff --git a/srcs/bonus/.ft_lstdelone.c.swp b/srcs/bonus/.ft_lstdelone.c.swp deleted file mode 100644 index d9d49e0afc7ffef73e52a4392e58312370b49cc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2PiP!f9LHY^T1TxdDpaiKB&E&lG|47u#L(6dyok_xDV4^wtec%#GIlb%&Q5HT zP^AY!>`kdqi{Qb7H@$fB;9oqN3VIWyilXG=!HWvT&+pBj?8bCjOA#t>;IljLz2E!& ze((GK49m{!$TLqJwkL*171ws9e!TeYiRZ>QtJ)5w<`%;G{Gv3JU;e&$ygfQPJU%wu zj7v;kN*z|iV78f5J8`2^ooz)6ooX|wg`LFn!&c-EH%dI1CZm8+;D!`fNSZ?vTh+d? z(GlsttG~~_@7|*~dhqkvJsC}0#Y3K#{90-`|OQ|hzZm3saT3jF_{|Ng(S zO{rD*6~2bA;3Ie!&chpU9H!wgOu-n8z)rXg{aU@E)9lB{&H)@GMNjF))`= zz$jo8_%9SV!=)_V>ariVpFVo%&;ezwE3YeB&3{zHzVG0nLSL_>v82iJ{La5Xbi|Q)?uYMtBa|rll=}Es9 zxA$Q8GD)p=63+xD2+YkGccOE)K=$qp?1OeB!wfJO8kIINlQd;B*lvY))3e&HN}N-P zvEDJRbP=PXBn45kmRJGz%h>{P*QPN|9zS{x5hkr5S~{1tMCZkr&@*3f+HDdqG!na$ s?PS?2Qmq%DWx1IgY0zY`?R$RH?&vF|9LIm-Y^|%SvlWyIbuI1P&w2X(K zUfY5(7cWulp*q!uK^;O?is~S>1swv3gbo8itkA(aw0+;~q-*xz_uhPe-_P&;8Qz=j zeb75o+!m=P5{T%&hz>3CcsW%g>@`n`M>{8>YY1Ui0bBsaGUSN zR$&Vu&zy4gZ7=wVe8Afgd@TCsmR*;(n)&)v z%>mJD_lAWP^MdzV3rnvmne^%_H=TVkuup2e3YbW0?Ip9XAz)njT`nt3E-BgcFDqFQ zmXevUkSJMu%5bykpH~0Bj>~p>UgPL_vTk5NQAx>kN%LJw*3L8eE3Bk#rC}MhN+u-D zAB4StB$L17$*>|D{3_~r;roeQ5#=e>S z#=3_yW8G%BfR?z*aLDjT^Bs=CNa~td`#A74Rff$<*VA&pf zXY4JLpMg08rsD&Xg(v32#+&m5%}a?ct|x5GA5tyCgQ&AJ6t2$sNmWM&Rc%s>P3W3B Ws72%2B~k};wesuC+kw~?yY3HXZw9Ua delta 774 zcmZ4C(%>@Tg5U;j1_nk31_pO#AOQp$Ha;w8Vq};c$?R-e0OT_Pu>=sGP+(x-0@59d z3=9=O8mNsS0Em$R8<4{``69DCW5(o<%=Q8u8fC2~rr4LRzg?R3)ausi$qpl9VFvzv1|Ge(8-cFg!0@63NO|l=R=fw zf|Pcb0*x@^-)9CC&jSi{x;_A!q6e0$1xnR(cy!zI?=uHVH-M$@Y^Y~=!4Hz}t^L{Q zdgBE@x-I)a0=>3YKs7+4o&bG=VhbnOm@7c3lVB+{Tcp9#7l6{MP^1wKaj+Ext2qNy z(~hAAsIHe6WQRv*?E#O@^FX@~bh_>Vs*MJ!HN4d6x?}P>z8=Yv{E~cKyOhL|LFI!v#qYAq6B3$byUj28VdU0mcT#4@?Y`PbtVL zUEqPFH8r3VC`1qNLHH(6z5vf;E=BniUWh0tbpaIt5d?&x@#E0=X=r> - - typedef struct s_list - { - void *content; - struct s_list *next; - } t_list; - - void *ft_memcpy(void *dst, const void *src, size_t n) - { - size_t i; - char *ptr; - char *ptr2; - - ptr = (char *)dst; - ptr2 = (char *)src; - i = -1; - while (++i < n) - ptr[i] = ptr2[i]; - return (dst); - } - - t_list *ft_lstnew(void *content) - { - t_list *lst; - - if (!(lst = (t_list *)malloc(sizeof(*lst)))) - return (NULL); - if (!content) - lst->content = NULL; - else - { - if (!(lst->content = malloc(sizeof(content)))) - return (NULL); - ft_memcpy(lst->content, content, sizeof(content)); - } - lst->next = NULL; - return (lst); - } - - void ft_lstadd_back(t_list **alst, t_list *new) - { - t_list *tmp; - - if (alst) - { - tmp = *alst; - if (!tmp) - *alst = new; - else - { - while (tmp->next) - tmp = tmp->next; - tmp->next = new; - } - new->next = NULL; - } - } - - void ft_lstdelone(t_list *lst, void (*del)(void *)); - - int main(void) - { - char tresor; - char matos; - char friends; - t_list *toto; - t_list *tmp; - - tresor = 'a'; - matos = 'b'; - friends = 'c'; - toto = ft_lstnew(&tresor); - printf("toto->data :%c\n",*(char*)(toto->content)); - tmp = ft_lstnew(&matos); - ft_lstadd_back(&toto, tmp); - printf("----------------------\n"); - printf("toto->data :%c\n",*(char*)(toto->content)); - printf("toto->nxt->data :%c\n",*(char*)(toto->next->content)); - tmp = ft_lstnew(&friends); - ft_lstadd_back(&toto, tmp); - printf("----------------------\n"); - printf("toto->data :%c\n",*(char*)(toto->content)); - printf("toto->nxt->data :%c\n",*(char*)(toto->next->content)); - printf("toto->nxt->nxt->data:%c\n",*(char*)(toto->next->next->content)); - printf("toto->nxt->nxt->nxt :%s\n",(char*)(toto->next->next->next)); - return (0); - } - +/* +** free an element and delete its content with del +** next is not free +*/ -//#include "libft.h" +/* +** #include +** +** typedef struct s_list +** { +** void *content; +** struct s_list *next; +** } t_list; +** +** void *ft_memcpy(void *dst, const void *src, size_t n) +** { +** size_t i; +** char *ptr; +** char *ptr2; +** +** ptr = (char *)dst; +** ptr2 = (char *)src; +** i = -1; +** while (++i < n) +** ptr[i] = ptr2[i]; +** return (dst); +** } +** +** t_list *ft_lstnew(void *content) +** { +** t_list *lst; +** +** if (!(lst = (t_list *)malloc(sizeof(*lst)))) +** return (NULL); +** if (!content) +** lst->content = NULL; +** else +** { +** if (!(lst->content = malloc(sizeof(content)))) +** return (NULL); +** ft_memcpy(lst->content, content, sizeof(content)); +** } +** lst->next = NULL; +** return (lst); +** } +** +** void ft_lstadd_back(t_list **alst, t_list *new) +** { +** t_list *tmp; +** +** if (alst) +** { +** tmp = *alst; +** if (!tmp) +** *alst = new; +** else +** { +** while (tmp->next) +** tmp = tmp->next; +** tmp->next = new; +** } +** new->next = NULL; +** } +** } +** +** void ft_delete(void *element) +** { +** *(char*)element = '\0'; +** } +** +** void ft_lstdelone(t_list *lst, void (*del)(void *)); +** +** int main(void) +** { +** char tresor; +** char matos; +** char friends; +** t_list *toto; +** t_list *tmp; +** void (ft_delete)(void*); +** +** tresor = 'a'; +** matos = 'b'; +** friends = 'c'; +** toto = ft_lstnew(&tresor); +** tmp = ft_lstnew(&matos); +** ft_lstadd_back(&toto, tmp); +** tmp = ft_lstnew(&friends); +** ft_lstadd_back(&toto, tmp); +** printf("----------------------\n"); +** printf("toto->data :%c\n",*(char*)(toto->content)); +** printf("toto->nxt->data :%c\n",*(char*)(toto->next->content)); +** printf("toto->nxt->nxt->data:%c\n",*(char*)(toto->next->next->content)); +** printf("toto->nxt->nxt->nxt :%s\n",(char*)(toto->next->next->next)); +** ft_lstdelone(toto->next, ft_delete); +** printf("----------------------\n"); +** printf("toto->data :%c\n",*(char*)(toto->content)); +** printf("toto->nxt->data :%c\n",*(char*)(toto->next->content)); +** printf("toto->nxt->nxt->data:%c\n",*(char*)(toto->next->next->content)); +** printf("toto->nxt->nxt->nxt :%s\n",(char*)(toto->next->next->next)); +** return (0); +** } +*/ + +#include "libft.h" void ft_lstdelone(t_list *lst, void (*del)(void *)) {