Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1126 Le 13/01/2011, à 19:48

tshirtman

Re : /* Topic des codeurs couche-tard [3] */

même si je ne conseille pas spécialement de faire ça, il me semble bien que ça fait ce qu'il décrit…

gaby@caterpillar:~$ cat > skynet.py
print 0/0   
[18:45]
gaby@caterpillar:~$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> try:
...     import skynet
... except:
...     print "doh"
... 
doh
>>> import skynet
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "skynet.py", line 1, in <module>
    print 0/0
ZeroDivisionError: integer division or modulo by zero
>>>

(à part peut être avec le vrai module skynet de python3, pas testé)

je ne vois pas trop dans quel cas ça ferait autre chose.

Hors ligne

#1127 Le 13/01/2011, à 19:50

Pylades

Re : /* Topic des codeurs couche-tard [3] */

ArkSeth a écrit :
Pylade a écrit :
free(text), free(*words);

Ça suffit.

Oui mais ce n'est plus dans la même fonction, donc je n'ai plus le pointeur text, d'où le fait que je demande si avec words[0] ça le fait bien tongue
(words[0] ayant été initialisé à text+len à un moment où len valait 0)

Heu, juste comme ça… *words c'est strictement équivalent à words[0], hein (du coup tu me fais douter d'un truc, là, je vais voir)…
Mais sinon oui, comme en C on passe par valeur, tu te doutes bien que ça revient strictement au même, même si tu n'es pas dans la fonction où tu as fait l'alloc.


ArkSeth a écrit :
Pylade a écrit :

Et non, ça ne fait pas ce que tu décris.

Dis-moi que j'ai des visions, tant qu't'y es tongue

J'te fais une démo quand tu veux : s'il n'y a pas d'erreur, le module est bien chargé, sinon j'ai juste une petite ligne indiquant le type d'erreur sur la sortie standard. Ce qui est précisément le comportement que j'attends tongue

Non. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1128 Le 13/01/2011, à 19:55

Elzen

Re : /* Topic des codeurs couche-tard [3] */

tshirtman a écrit :
... except:
...     print "doh"

À ceci près que dans mon code, ça doit être un truc genre

print Exception, e:
    print e

Mais c'est le même principe ^^

tshirtman a écrit :

même si je ne conseille pas spécialement de faire ça

Ç'toi qui a beaucoup insisté pour que j'apprenne le python mais qui m'a laissé faire tout seul, alors ça devrait être à toi plutôt qu'à Pylade de m'apprendre à faire du bon python tongue

Pylade a écrit :

Heu, juste comme ça… *words c'est strictement équivalent à words[0], hein (du coup tu me fais douter d'un truc, là, je vais voir)…
Mais sinon oui, comme en C on passe par valeur, tu te doutes bien que ça revient strictement au même, même si tu n'es pas dans la fonction où tu as fait l'alloc.

Ah ouais, j'avais pas vu l'astérisque.
Dans ce cas, c'est ta proposition (free sur text puis sur *words) qui  n'était pas bonne, vu que ça libérait deux fois la même chose, et que ça ne libérait pas le char** (qui a lui-même été alloué, pourtant tongue)

Pylade a écrit :

Non. tongue

Il va falloir que tu développes, parce que pour l'instant, ta crédibilité est en chute libre.

J'me demande même si t'es pas en train de creuser dessous pour la faire tomber encore plus bas tongue

Hors ligne

#1129 Le 13/01/2011, à 20:12

Pylades

Re : /* Topic des codeurs couche-tard [3] */

ArkSeth a écrit :

[…]

Pylade a écrit :

Heu, juste comme ça… *words c'est strictement équivalent à words[0], hein (du coup tu me fais douter d'un truc, là, je vais voir)…
Mais sinon oui, comme en C on passe par valeur, tu te doutes bien que ça revient strictement au même, même si tu n'es pas dans la fonction où tu as fait l'alloc.

Ah ouais, j'avais pas vu l'astérisque.
Dans ce cas, c'est ta proposition (free sur text puis sur *words) qui  n'était pas bonne, vu que ça libérait deux fois la même chose, et que ça ne libérait pas le char** (qui a lui-même été alloué, pourtant tongue)

Ben, j'ai pris mes free en fonction de comme t'as alloué ça dans ton code… mais bon, il me semble un peu louche quand même ; il faudrait que tu expliques clairement ce que sont tes paramètres nbwords et words
Ah, et peut-être que sans toutes ces parenthèses et ces *sizeof(char), ça serait plus lisible, aussi. tongue


ArkSeth a écrit :
Pylade a écrit :

Non. tongue

Il va falloir que tu développes, parce que pour l'instant, ta crédibilité est en chute libre.

J'me demande même si t'es pas en train de creuser dessous pour la faire tomber encore plus bas tongue

Bon, écoute, on va faire un marché. Tu arrêtes de me distraire jusqu'à demain, 11 h, et alors je te ferai une belle dissertation avec introduction, plan, conclusion. Ça te va ? tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1130 Le 13/01/2011, à 20:29

tshirtman

Re : /* Topic des codeurs couche-tard [3] */

@ArkSeth: ben écoute, je l'ai aussi appris un peu tout seul le python ^^, donc je suis peut être pas le meilleur prof, mais bon, pour les exceptions de la même façon qu'en java, c'est mieux de cibler celle que tu attends, les traiter chacune séparément, comme il se doit, et laisser les autres crasher ton applie tant que tu ignore leur existence… smile

Hors ligne

#1131 Le 13/01/2011, à 20:30

Elzen

Re : /* Topic des codeurs couche-tard [3] */

Pylade a écrit :

Ben, j'ai pris mes free en fonction de comme t'as alloué ça dans ton code… mais bon, il me semble un peu louche quand même ; il faudrait que tu expliques clairement ce que sont tes paramètres nbwords et words
Ah, et peut-être que sans toutes ces parenthèses et ces *sizeof(char), ça serait plus lisible, aussi. tongue

J'préfère trop de parenthèses que pas assez, et c'est pas ma faute si tu sais pas lire du code un peu explicite. J'peux te filer le binaire et te laisser te débrouiller, si tu préfères tongue

nbwords et words sont un  pointeur sur le nombre de mots qu'il y aura dans le tableau et un pointeur sur le tableau lui-même, vu qu'une fonction peut difficilement renvoyer plusieurs variables à la fois.
Dans le main, ça donne (grosso-modo) :

char** words;
int size, nbwords;
size = read_words_in_file(&nbwords, &words, filename);
Pylade a écrit :

Bon, écoute, on va faire un marché. Tu arrêtes de me distraire jusqu'à demain, 11 h, et alors je te ferai une belle dissertation avec introduction, plan, conclusion. Ça te va ? tongue

Ç'toi qui reviens lire sans arrêt tongue

Après tu fais comme tu veux, sachant que j'te laisse même jusqu'à 17/18h, le temps que je sorte d'exam (j'en ai deux dans la même journée, demain, et pas des faciles), que je me mette au point avec mon binôme sur l'envoi du boulot à rendre pour demain et que je rentre chez moi, mais que je risque de ne pas être dans un état cérébral suffisant pour lire un pavé de plusieurs pages avant le lendemain midi, au moins.

Et aussi que je doute fortement que quelque explication que ce soit puisse changer un résultat d'exécution concret déjà maintes fois éprouvé tongue Que tu n'aies pas compris ce que j'essaye d'expliquer, ou que tu aies une façon particulière de l'interpréter (alors que moi j'ai jamais prétendu interpréter ce qui se passe en réel, j'te dis juste ce que j'ai comme résultat) serait déjà plus possible…

tshirtman a écrit :

@ArkSeth: ben écoute, je l'ai aussi appris un peu tout seul le python ^^, donc je suis peut être pas le meilleur prof, mais bon, pour les exceptions de la même façon qu'en java, c'est mieux de cibler celle que tu attends, les traiter chacune séparément, comme il se doit, et laisser les autres crasher ton applie tant que tu ignore leur existence… smile

J'suis d'accord (encore que j'ignorais qu'une telle chose était possible jusqu'à cette charmante discussion), néanmoins dans le cas dont Pylade me soutient que je ne peux pas avoir le résultat d'exécution que j'ai pourtant bien, ce qui m'intéresse est précisément de ne pas en cibler mais de récupérer n'importe laquelle, histoire qu'un crash au niveau d'un plugin laisse tomber le plugin en question mais sans empêcher le reste de l'appli de tourner.

Dernière modification par ArkSeth (Le 13/01/2011, à 20:35)

Hors ligne

#1132 Le 13/01/2011, à 22:05

tshirtman

Re : /* Topic des codeurs couche-tard [3] */

je pense qu'il te dit que tu pense avoir ce résultat, et que tu l'a toujours eu pour l'instant, mais que dans l'absolue tu n'aura pas forcément ça… mais j'ai du mal à voir de quel cas il parle (sauf import de skynet en python3, qui tue l'interpréteur, mais c'est normal).

edit: pour référence http://docs.python.org/tutorial/errors.html

Dernière modification par tshirtman (Le 13/01/2011, à 22:07)

Hors ligne

#1133 Le 13/01/2011, à 23:07

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

Suite de mon long post pour helly
Comme le précédent, ce n'est que mon humble avis et je ne suis pas à l'abri d'erreurs moi aussi.



Haskell n'exécute les fonctions et fait des calculs uniquement s'il est réellement forcé de vous donner un résultat.

« Haskell n'exécuteras pas les fonctions et les calculs tant qu'il ne sera pas forcé de vous montrez le résultat. »

Cela fonctionne bien avec la transparence référencielle, et vous permet de voir le programme comme une série de transformations de données.

« Cela se marie bien avec la transparence référentielle et vous permet de penser vos programmes comme une série de transformations sur les données. »

Il vous permet aussi des choses sympatiques telles que une structure de données infinie.

« Ça vous permet également de faire des trucs cools commes des structures de données infinies. »

Disons que vous avez une liste de nombres

« Disons que vous avez une liste de nombres immuable »
Très important de préciser que la liste est immuable (ça explique pourquoi on n'en renvoie une au lieu de modifier l'existante).

Si nous voulons multiplier notre liste par 8 en langage impératif, nous ferions doubleMe(doubleMe(doubleMe(xs))), ce qui, probablement, passe par la liste, fait une copie et la retourne. Ensuite il va relire cette liste une deuxième fois et retourner le résultat.

« Si nous voulons multiplier notre liste par 8 dans un langage impératif, nous ferions doubleMe(doubleMe(doubleMe(xs))), il va probablement traverser la liste, en faire une copie et la renvoyer. Ensuite il va retraverser cette liste deux fois et retourner le résultat. »

That way when you want something from a lazy language you can just take some initial data and efficiently transform and mend it so it resembles what you want at the end.

Il manque la trad' de ce passage.

Quand vous lancez la compilation, le compilateur sait quelle partie de code est un nombre, un string… Ce qui signifie que le compilateur peut intercepter un grand nombre d'erreurs.

« Quand vous compilez votre programme, le compilateur sait quel morceau de code est un nombre, lequel est une chaîne de caractères… Cela signifie qu'un grand nombre d'erreurs possible est détecté au moment de la compilation. »
De manière générale, ne laisse pas traîner des « string », traduit par « chaîne de caractères ». Tu parles bien d'entier, pas d'« integer »

Haskell utilise un très bon système d'inférence type

« Haskell utilise une très bonne méthode de typage : l'inférence type. »

car le système peut très intelligement le déduire

« car le système peut, de manière intelligente, déduire beaucoup de chose lui-même. »

le deviner tout seul.

« le déduire (ou le comprendre) tout seul. »
Le verbe « deviner » peut faire croire que le compilo y va un peu au pif…

la fonction marchera pour tout paramètres additionnables comme des nombres.

« la fonction marchera pour tout les paramètres qui se comportebt comme des nombres. »
Je trouve « marchera » plutôt moche mais « la fonction fonctionnera » c'est bof aussi, donc bon…

Et les programmes courts sont plus facile à maintenir que les longs

« et ils ont moins de bug »

Haskell a été conçu par des types sympathiques. Haskell a débuté en 1987, quand un commité de chercheurs a créé un langage kitutout. En 2003, le rapport de Haskell a été publié. Il définit une version stable du langage.

« Haskell a été conçu par des gars très intelligents (avec des doctorats). Le travail sur Haskell a débuté en 1987, quand un comité de chercheurs s'est réuni pour concevoir un langage qui (poutre|roxx du poney|kitutout|autres expressions à la con tongue). En 2003, le « Haskell Report » a été publié, il définit une version stable du langage. »

Pour les exemples de ce tutoriel, nous utiliserons GHC, le compilateur Haskell le plus simple à utiliser.

Pour ce tutoriels, nous utiliserons GHC, le compilateur Haskell le plus utilisé.
Sinon je mettrai la partie sur Debian et Archlinux en tant qu'ajout du traducteur (genre en NdT => Note du Traducteur ou un autre truc du genre).

(qui a généralement une extension en .hs)

« (qui a généralement une extension .hs) »

s'affiche immédiatement (ou pas).

??
Pourquoi le « (ou pas) » ?
C'est pas dans la version d'origine, donc même si c'est justifié, il faut le faire apparaître en tant qu'ajout du traducteur je pense.

Le mode interactif est activé

« Le mode interactif est obtenu »

The usual workflow for me when playing around in stuff is defining some functions in a .hs file, loading it up and messing around with them and then changing the .hs file, loading it up again and so on. This is also what we'll be doing here.

Il manque la trad' de ce passage.



Je ferais la suite plus tard (probablement pas ce soir).

Édit :
@helly : je viens de finir de lire les Elfen Lied, ils valent vraiment le détour (l'anime, qui est pourtant bien, ne vaut pas grand chose face au manga). Tu devrais vraiment y jeter un œil, je pense que tu ne seras pas déçu. J'ai trouvé que c'était bien plus sombre, dur et approfondi que l'anime, l'histoire diverge aussi pas mal au bout d'un moment (mais ça c'est normal vu que l'anime est sortie avant la fin du manga…).
Fait vraiment chier qu'ils ne soient pas publiés en France >_<
Sur ces bonnes paroles, BN World !

Dernière modification par grim7reaper (Le 14/01/2011, à 00:02)

Hors ligne

#1134 Le 14/01/2011, à 01:26

gnuuat

Re : /* Topic des codeurs couche-tard [3] */

echo 'Follow the white rabbit, that is what he said...';

Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !

Hors ligne

#1135 Le 14/01/2011, à 01:29

Pylades

Re : /* Topic des codeurs couche-tard [3] */

matrix _w00t_;
_w00t_.include(gnuuat);
puts("The matrix has you…");

    → []

Dernière modification par Pylade (Le 14/01/2011, à 03:00)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1136 Le 14/01/2011, à 03:06

Rolinh

Re : /* Topic des codeurs couche-tard [3] */

Bien codé aujourd'hui smile

BN

Hors ligne

#1137 Le 14/01/2011, à 03:06

nesthib

Re : /* Topic des codeurs couche-tard [3] */

plop


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1138 Le 14/01/2011, à 03:08

Sir Na Kraïou

Re : /* Topic des codeurs couche-tard [3] */

.


Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.

Hors ligne

#1139 Le 14/01/2011, à 03:38

Кຼزດ

Re : /* Topic des codeurs couche-tard [3] */

Rien codé aujourd'hui sad
BN


dou

Hors ligne

#1140 Le 14/01/2011, à 04:07

nesthib

Re : /* Topic des codeurs couche-tard [3] */

smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1141 Le 14/01/2011, à 05:03

samυncle

Re : /* Topic des codeurs couche-tard [3] */

_


Hello world

Hors ligne

#1142 Le 14/01/2011, à 08:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [3] */

Scores totaux, depuis le début :

1) 2311    nesthib
2) 2187    samuncle
3) 1848    Pylade
4) 1502    Кຼزດ
5) 1117+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
6) 1048    cm-t
7) 783    \\Ouranos//
8) 778    helly
9) 772    Р☢w ! ✰ :mad: ✰ (эй !)
10) 593    gnuuat
11) 538    Lagierl
12) 366    tshirtman
13) 196    Askelon
14) 185    Kanor
15) 172    nathéo
16) 134    The Uploader
17) 122    Rolinh
18) 121    ǤƦƯƝƬ
19) 93    petifrancais
20) 78    edge_one
20) 78    pierguiard
22) 70    gulp
23) 63    kamui57
24) 37    ilagas
25) 35    Le Rouge
26) 30    keny
27) 25    GentooUser
27) 25    Morgiver
27) 25    xapantu
30) 24    ไ୦บเઢ'
30) 24    Steap
32) 20    CROWD
32) 20    d10g3n
34) 18    Ph3nix_
35) 15    timsy
35) 15    :!pakman
37) 14    kouskous
38) 12    stratoboy
38) 12    sailing
38) 12    sakul
41) 11    alexises
41) 11    Crocoii
43) 10    Toineo
43) 10    NutMotion
43) 10    pseudovingtcinqcaracteres
43) 10    pfriedZ
47) 8    Mornagest
48) 7    Vista
49) 6    Zeibux
49) 6    ubuntlin
49) 6    asma.geek
52) 5    tendances-tdct
52) 5    kinouchou
54) 4    danychou56
54) 4    Neros
54) 4    Biaise
54) 4    totoflute
54) 4    pinballyoda ㋛
59) 3    Revan26914
60) 2    SoJaS
60) 2    ceric
62) 1    geenux

RépartitionPosts/heure


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1143 Le 14/01/2011, à 08:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [3] */

Scores de la période en cours :

1) 122    samuncle
2) 110    nesthib
3) 87    Кຼزດ
4) 76    Pylade
5) 68    grim7reaper
6) 61    gnuuat
7) 41    The Uploader
7) 41    Rolinh
9) 40    Р☢w ! ✰ :mad: ✰ (эй !)
10) 37    helly
11) 20    Lagierl
12) 18    tshirtman
13) 15    \\Ouranos//
13) 15    :!pakman
15) 4    kamui57
16) 3    Steap
16) 3    xapantu
16) 3    Le Rouge

Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1145 Le 14/01/2011, à 12:10

The Uploader

Re : /* Topic des codeurs couche-tard [3] */


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1147 Le 14/01/2011, à 12:16

The Uploader

Re : /* Topic des codeurs couche-tard [3] */

c'est l'heure du forum qui déconne! mad (j'ai 1 minute de plus tongue )

Dernière modification par The Uploader (Le 14/01/2011, à 12:16)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1148 Le 14/01/2011, à 14:58

Pylades

Re : /* Topic des codeurs couche-tard [3] */

Bon, je vais avoir du temps. smile

Alors, les explications arrivent, mais laissez-moi le temps de me poser. wink


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1149 Le 14/01/2011, à 15:20

Rolinh

Re : /* Topic des codeurs couche-tard [3] */

Bon, j'ai besoin de quelques éclaircissements à propos d'un soucis que je n'arrive pas à résoudre depuis un petit moment mais... pour ça le plus simple c'est de cloner un repository et d'essayer de compiler parce que sinon on ne va jamais s'en sortir.
Donc il vous faut mercurial puis:

hg clone http://lincopier.hg.sourceforge.net:8000/hgroot/lincopier/lincopier

Lorsque je veux compiler, j'ai ceci:

cc -g3 -std=c99 -pedantic -Wall -Werror `pkg-config --cflags gtk+-2.0`   -c -o main.o main.c
cc1: warnings being treated as errors
In file included from main.c:14:0:
queue.c: In function 'enqueue':
queue.c:119:2: error: implicit declaration of function 'strdup'
queue.c:119:56: error: pointer/integer type mismatch in conditional expression
queue.c:120:50: error: pointer/integer type mismatch in conditional expression
make: *** [main.o] Error 1

et cette erreur n'est apparue que suite à des changements sur autre chose donc j'ai du mal à saisir.

L'erreur se situe dans cette fonction

/*
 * This function enqueues an element into a queue
 * @lst:    queue pointer
 * @elt:    element
 * It returns an error code
 */
int
enqueue(struct list *lst, struct file_to_copy elt)
{
    struct file_to_copy *new_elt = calloc(1, sizeof(struct file_to_copy));

    if (new_elt == NULL){
        perror("Error allocating memory ");
        return -1;
    }

    /* We initialize the new element to insert */
    new_elt->from = (elt.from != NULL) ? strdup(elt.from) : NULL;
    new_elt->to = (elt.to != NULL) ? strdup(elt.to) : NULL;
    new_elt->next = NULL;
    new_elt->err_code = 0;
    new_elt->size = elt.size;

    if (is_empty((*lst)))
        lst->head = new_elt;
    else
        lst->tail->next = new_elt;

    lst->tail = new_elt;
    lst->nb_elmt++;
    lst->size += elt.size;

    return 0;
}

dans mon entête j'ai bien

#define _BSD_SOURCE

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include "list.h"
#include "queue.h"

l'histoire c'est qu'ici j'ai besoin de strdup car le contenu des adresses pointées par from et to doivent être modifiés plus tard, le problème étant bien ici:

new_elt->from = (elt.from != NULL) ? strdup(elt.from) : NULL;
new_elt->to = (elt.to != NULL) ? strdup(elt.to) : NULL;

Si l'un de vous arriverait à jeter un œil, ça me rendrait un bon service parce que là je bloque un peu smile

EDIT: avoir les structures aidera pas mal ^^

struct file_to_copy{
    char        *from;
    char        *to;
    int        err_code;
    uintmax_t    size;
    struct    file_to_copy *next;
};

struct list{
    struct    file_to_copy *head;
    struct    file_to_copy *tail;
    int    nb_elmt;
    uintmax_t size;
};

Dernière modification par Rolinh (Le 14/01/2011, à 15:23)

Hors ligne

#1150 Le 14/01/2011, à 19:41

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

Erreur bête tongue

Ajoute

#define _BSD_SOURCE

en haut de main.c

Dernière modification par grim7reaper (Le 14/01/2011, à 19:48)

Hors ligne