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.

#776 Le 05/07/2011, à 13:16

The Uploader

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

edit2 : Ben maintenant ça marche, et je ne vois pas ce que j'ai fait qui ait pu arranger ça T_T

git diff tongue


- 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

#777 Le 05/07/2011, à 13:26

Dr Le Rouge

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

tshirtman a écrit :

hum, je ne suis pas sur de comprendre, mais tu confond sans doute variable et noms tongue

Là c'est moi qui ne comprends pas...

Réexplication : en gros, je lis le contenu d'un dictionnaire en l'écrivant immédiatement en-dessous du trait en '-' (en l'occurrence, j'affiche deux champs de ce dictionnaire). Ensuite, je mets ce dictionnaire dans une liste, puis je demande à ce qu'on m'affiche tout le contenu de cette liste (du moins, ces même champs pour chacun des dictionnaires contenus dans ladite liste) (du coup ça fait deux niveaux de boucle, puisque, précision que j'ai oubliée, cette fonction est dans une boucle qui créé de nouveaux 'truc'). Et là *PAF*, tous les dictionnaires contenus dans la liste contienne la même chose que le dernier inséré, mais pas tout à fait puisqu'au moins l'un des champs échappe au massacre.

D'où trouble.

@ The Uploader : oui mais non, c'est pas un gros truc donc j'ai pas sorti l'artillerie lourde tongue

Dernière modification par Dr Le Rouge (Le 05/07/2011, à 13:27)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#778 Le 05/07/2011, à 14:35

tshirtman

Hors ligne

#779 Le 05/07/2011, à 14:40

Dr Le Rouge

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

Bah il semblerait puisque je n'ai modifié que ça, mais ça reste quand même bizarre (je trouve). A priori, si la valeur avant d'être "appendé" est la bonne, elle devrait le rester après hmm

(et j'invente le verbe appender si je veux tongue)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#780 Le 05/07/2011, à 20:05

grim7reaper

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

@Rolinh : dans le fichier queue.c, tu as la fonction enqueue implémentée ainsi :

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;
}

Le calloc est inutile, autant utiliser malloc vu que tu initialises tous les champs à la main 8 lignes plus bas.
L'initialisation faite par calloc est inutile dans le cas présent donc perte de perf' pour rien.

Hors ligne

#781 Le 05/07/2011, à 20:32

Rolinh

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

grim7reaper a écrit :
Rolinh a écrit :

Ah ouais mais c'est de nouveau dans main-cli ^^

Ouais, il n'y que celui-là que j'ai regardé hier.
Je verrais les autres par la suite.

Je pense que si tes yeux attentifs se penchent sur copy.c ça serait pas mal. C'est un peu la partie délicate où on a vite fait d'oublier de vérifier un truc essentiel. wink

Je regarde de suite pour le calloc wink

Hors ligne

#782 Le 05/07/2011, à 20:36

grim7reaper

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

Ouais je compte regarder copy.c, mais je « vérifie » d'abord les fonctions de base wink
Sinon, en commentaire de enqueue tu mets

It returns an error code

Donc quand tu renvoie 0 pour dire « tout est OK » ça fait un peu « Erreur : Succès » ^^", je verrais plus

It returns a status code

Bon, ça, c'est du détail ^^

Hors ligne

#783 Le 05/07/2011, à 20:59

Pylades

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

@ Le Rouge : c’est bien possible que ton erreur vienne d’ailleurs, alors si tu ne postes pas tout le code ça va être délicat de t’aider…


“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

#784 Le 05/07/2011, à 20:59

Rolinh

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

@ Pylade: bien essayé tongue
J'ai pas encore trouvé un moyen de faire ça proprement. Enfin, pas encore décidé plutôt...

Sinon grim c'est fixed wink

Hors ligne

#785 Le 05/07/2011, à 21:10

grim7reaper

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

Tiens, dans utils.c (dans la fonction get_dir_size) à un moment tu fais le test suivant :

/* skip . and .. */
if (!strncmp(".", crt_name, 1) ||
    !strncmp("..", crt_name, 2)) continue;

Or, avec ce test tu élimines du parcours tout les dossiers cachés et leur hiérarchie.
Donc est-ce que c'est voulu (et dans ce cas ça voudrait le coup d'être documenté dans l'en‑tête de la fonction) ou est-ce que c'est un bug (et dans ce cas jpeux te proposer un fix simple et élégant :], un truc KISS quoi) ?



Le fix en question étant :

/* skip . and .. */
if (!strncmp(".", crt_name, 2) ||
    !strncmp("..", crt_name, 3)) continue;

^^
Bah ouais suffit de comparer un caractère de plus (pour voir si le suivant est bien '\0') tongue, comme ça tu vois si le nom de fichier n'est bien constitué que de "." (ou "..") (donc l'élimination est OK) ou s'il continu (dans ce cas faut le garder car c'est un fichier caché).

Édit : Ouais je pense vraiment que c'est un bug du coup, car ce test est aussi présent dans la fonction copy_dir de copy.c (donc tu ne copies pas les répertoires cachés et leur contenu !).

BN World!

Dernière modification par grim7reaper (Le 05/07/2011, à 22:14)

Hors ligne

#786 Le 05/07/2011, à 21:26

Pylades

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

Je ne crois pas que cela gène le performance de tout simplement faire un strcmp (ben ouais, dès que ça diffère il s’arrête, c’est encore plus simple)…


“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

#787 Le 05/07/2011, à 23:59

cm-t

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

'Nuit;

Dernière modification par cm-t (Le 06/07/2011, à 01:28)


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#788 Le 06/07/2011, à 01:13

Кຼزດ

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

Pareil


dou

Hors ligne

#789 Le 06/07/2011, à 01:23

Sir Na Kraïou

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

Ætouq.


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

#790 Le 06/07/2011, à 02:06

nesthib

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

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

#791 Le 06/07/2011, à 02:42

samυncle

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

.


Hello world

Hors ligne

#792 Le 06/07/2011, à 02:46

tshirtman

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

Bon, j'ai corrigé un bug con que j'avais créé en nettoyant du code…

en gros pylint m'indique une variable non utilisé, je vois que le bout de code qui l'utilisait est commenté, que la variable est inirialisé quelques lignes plus haut dans un if avec la valeur d'un retour de fonction, le else fait un truc différent, du coup je remplace la ligne par un "pass".

sauf que…

la variable servait pour des trucs cosmétiques, et la fonction servait surtout pour ses effets de bords… :] du coup, les boutons "cancel" de mon GUI marchaient plus smile.

j'ai installé bzr-bisect et utilisé pas mal de bzr diff pour comprendre d'ou ça venait (et un bzr blame qui m'a bien dit que j'avais des chances d'être responsable ^^).

allez, bonne nuit…

Dernière modification par tshirtman (Le 06/07/2011, à 02:57)

Hors ligne

#793 Le 06/07/2011, à 02:50

Pylades

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

.


“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

#794 Le 06/07/2011, à 05:32

grim7reaper

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

Hello World!



Πυλάδης a écrit :

Je ne crois pas que cela gène le performance de tout simplement faire un strcmp (ben ouais, dès que ça diffère il s’arrête, c’est encore plus simple)…

Nan mais même sans parler perf', point de vue sémantique ici strcmp est plus logique car je veux comparer une chaîne entière (c'est ce que je fais en ajoutant 1 à chaque strncmp).

Donc le fix devient :

/* skip . and .. */
if (!strcmp(".",  crt_name,) ||
    !strcmp("..", crt_name)) continue;

Hors ligne

#795 Le 06/07/2011, à 06:42

Compteur du TdCCT

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

Scores totaux, depuis le début :

1) 3693    nesthib
2) 3269    samuncle
3) 3154    Πυλάδης
4) 2360    Кຼزດ
5) 1824    cm-t
6) 1745+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
7) 1394    na kraïou
8) 866    helly
9) 862    \\Ouranos//
10) 681    tshirtman
11) 659    gnuuat
12) 565    Lagierl
13) 445    Rolinh
14) 418    nathéo
15) 388    The Uploader
16) 271    Kanor
17) 202    :!pakman
18) 196    Askelon
19) 121    ǤƦƯƝƬ
20) 99    kamui57
21) 93    petifrancais
22) 78    edge_one
22) 78    pierguiard
24) 70    gulp
25) 45    Le Rouge
26) 42    sakul
27) 37    ilagas
28) 36    xapantu
29) 30    keny
30) 26    gustare
30) 26    d10g3n
32) 25    GentooUser
32) 25    Morgiver
34) 24    ไ୦บเઢ'
34) 24    Steap
36) 20    CROWD
37) 18    Ph3nix_
38) 16    kouskous
39) 15    timsy
40) 12    stratoboy
40) 12    sailing
42) 11    alexises
42) 11    Crocoii
44) 10    Toineo
44) 10    NutMotion
44) 10    pseudovingtcinqcaracteres
44) 10    pfriedZ
44) 10    CasseTaTele
44) 10    Zeibux
44) 10    THS`
51) 8    Mornagest
52) 7    Vista
53) 6    ubuntlin
53) 6    asma.geek
55) 5    tendances-tdct
55) 5    kinouchou
57) 4    danychou56
57) 4    Neros
57) 4    Biaise
57) 4    totoflute
57) 4    pinballyoda ㋛
57) 4    NLS le pingouin
57) 4    ceric
57) 4    Dice-Man
57) 4    Pylade
66) 3    Revan26914
66) 3    raspouillas
66) 3    sweetly
69) 2    SoJaS
70) 1    geenux
70) 1    ArzhurBZH

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

#796 Le 06/07/2011, à 06:42

Compteur du TdCCT

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

Scores de la période en cours :

1) 50    nesthib
2) 39    Πυλάδης
3) 38    samuncle
4) 34    tshirtman
5) 33    Кຼزດ
6) 25    cm-t
7) 14    na kraïou
8) 12    grim7reaper
9) 5    Rolinh
10) 3    The Uploader

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

#797 Le 06/07/2011, à 14:26

grim7reaper

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

118 (req): Dynamic heap memory allocation shall not be used
119 (req): The error indicator errno shall not be used
120 (req): The macro offsetof, in library <stddef.h>, shall not be used
121 (req): <local.h> and the setlocale function shall not be used
122 (req): The setjmp macro and the longjmp function shall not be used
123 (req): The signal handling facilities of <signal.h> shall not be used
124 (req): The input/output library <stdio.h> shall not be used in production code
125 (req): The library functions atof, atoi and atol from library <stslib.h> shall not be used
126 (req): The library functions abort, exit, getenv and system from library <stdlib.h> shall not be
used
127 (req): The time handling functions of library <time.h> shall not be used

:]
Tout de suite ça calme (pour ceux qui ne connaisse pas, c'est un extrait du standard MISRA C)

Hors ligne

#798 Le 06/07/2011, à 15:00

The Uploader

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

En gros, ton code va faire un régime drastique. yikes


- 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

#799 Le 06/07/2011, à 15:20

tshirtman

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

Et les gens sont sensés recoder les équivalents plus buggés à tout ça? ou il y a des alternatives conseillées? ^^

Hors ligne

#800 Le 06/07/2011, à 15:22

The Uploader

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

Ouais en fait si y'a pas d'alternatives, bonjour l'inflation du nombre de lignes de code et du nombre de bugs. yikes


- 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