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 07/11/2010, à 01:41

grim7reaper

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

Ok.

Et sinon, c'est normal que tu ne testes pas la validité des pointeurs (dans new_long_option par exemple) ?,
Genre si je passe NULL ça pète big_smile
Si oui, il faut le préciser dans la doc (genre "cette fonction n'accepte que des pointeurs valides" ou "les vérifications de validité sont à votre charge" enfin un truc du genre quoi) et si non il faut corriger (un pauv' test à ajouter).

Dernière modification par grim7reaper (Le 07/11/2010, à 01:42)

Hors ligne

#1127 Le 07/11/2010, à 01:52

\\Ouranos//

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

neutral


Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.

Hors ligne

#1128 Le 07/11/2010, à 01:59

Pylades

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

Bon, je n'arrive à rien avec NDEBUGhmm
Si tu veux regarder mes bidouilles, j'ai fait un push. http://gitorious.org/libstropt/libstropt/trees/master/


“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

#1129 Le 07/11/2010, à 02:04

grim7reaper

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

Je regarde.

Et sinon, pour ma question en HdP ?

Édit : c'est quoi qui ne va pas ?
Ça semble fonctionner…

Dernière modification par grim7reaper (Le 07/11/2010, à 02:09)

Hors ligne

#1130 Le 07/11/2010, à 02:14

Pylades

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

Ben, en compilant en release, le programme de debug ne s'exécute jamais jusqu'à son terme alors qu'il le devrait. hmm


Et qu'appelles-tu un pointeur invalide ? Si c'est juste les NULL, je corrige.


“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

#1131 Le 07/11/2010, à 02:18

gnuuat

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

Fake your code,
Never give a good one.


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

Hors ligne

#1132 Le 07/11/2010, à 02:19

grim7reaper

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

Pylade a écrit :

Ben, en compilant en release, le programme de debug ne s'exécute jamais jusqu'à son terme alors qu'il le devrait. hmm

C'est à dire ?
Chez moi je ne vois rien d'anormal (du moins pour le moment).

Et qu'appelles-tu un pointeur invalide ? Si c'est juste les NULL, je corrige.

Oui les NULL (on va pas s'amuser à vérifier que la plage d'adresse est correcte ^_^, c'est faisable mais chiant, crade et chuis même pas sûr que ça soit portable) que l'on peut te passer en tant que pointeur sur Option ou en tant que char*.
C'est juste ça, donc c'est rien à modifier (juste quelque tests au début des fonctions concernées)

Dernière modification par grim7reaper (Le 07/11/2010, à 02:22)

Hors ligne

#1133 Le 07/11/2010, à 02:36

samυncle

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

.


Hello world

Hors ligne

#1134 Le 07/11/2010, à 02:39

Pylades

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

grim7reaper a écrit :
Pylade a écrit :

Ben, en compilant en release, le programme de debug ne s'exécute jamais jusqu'à son terme alors qu'il le devrait. hmm

C'est à dire ?
Chez moi je ne vois rien d'anormal (du moins pour le moment).

Et bien il n'affiche rien à l'écran pour peu qu'une allocation échoue (ce qui arrivera si tu passes de nombreux arguments).

grim7reaper a écrit :
Pylade a écrit :

Et qu'appelles-tu un pointeur invalide ? Si c'est juste les NULL, je corrige.

Oui les NULL (on va pas s'amuser à vérifier que la plage d'adresse est correcte ^_^, c'est faisable mais chiant, crade et chuis même pas sûr que ça soit portable) que l'on peut te passer en tant que pointeur sur Option ou en tant que char*.
C'est juste ça, donc c'est rien à modifier (juste quelque tests au début des fonctions concernées)

Ouais, c'est fait et en ligne, mais juste pour NULL.


“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

#1135 Le 07/11/2010, à 02:45

grim7reaper

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

Pylade a écrit :
grim7reaper a écrit :
Pylade a écrit :

Ben, en compilant en release, le programme de debug ne s'exécute jamais jusqu'à son terme alors qu'il le devrait. hmm

C'est à dire ?
Chez moi je ne vois rien d'anormal (du moins pour le moment).

Et bien il n'affiche rien à l'écran pour peu qu'une allocation échoue (ce qui arrivera si tu passes de nombreux arguments).

Ok, et ça apparaît au bout de combien d'arguments ?

Ouais, c'est fait et en ligne, mais juste pour NULL.

Il n'y a que NULL à gérer de toutes façon (que ça soit une chaîne de caractères ou un pointeur de struct ça reste NULL)

Dernière modification par grim7reaper (Le 07/11/2010, à 02:48)

Hors ligne

#1136 Le 07/11/2010, à 02:45

Askelon

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

Y a un codeur Php qui peut m'expliquer à quoi sert le <?= $var ?> ? Apparemment à faire la même chose que <?php echo $var; ?>, mais c'est normé, «propre» comme truc, y a une utilité particulière à part économiser quelques octets ?

Hors ligne

#1137 Le 07/11/2010, à 02:51

Pylades

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

grim7reaper a écrit :
Pylade a écrit :
grim7reaper a écrit :

C'est à dire ?
Chez moi je ne vois rien d'anormal (du moins pour le moment).

Et bien il n'affiche rien à l'écran pour peu qu'une allocation échoue (ce qui arrivera si tu passes de nombreux arguments).

Ok, et ça apparaît au bout de combien d'arguments ?
[…]

Un seul peut suffire (si c'est une option).


@Askelon : je ne pense pas qu'il y ait beaucoup de codeurs PHP ici… Koin saura peut-être.


“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

#1138 Le 07/11/2010, à 02:54

grim7reaper

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

@Askelon : désolé, je passe mon tour. J'ai fait très peu de PHP et en plus c'était il y a un petit moment déjà…

@Pylade : ce n'est pas logique, si tu compile en release c'est que tu vires les machins aléatoires et tu me dis que ça peut échouer avec une seule option ?
Je vois pas comment hmm.

Hors ligne

#1139 Le 07/11/2010, à 03:04

Pylades

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

C'est pour ça que j'ai dit que j'avais un problème. ^^


“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

#1140 Le 07/11/2010, à 03:06

Askelon

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

Askelon a écrit :

Y a un codeur Php qui peut m'expliquer à quoi sert le <?= $var ?> ? Apparemment à faire la même chose que <?php echo $var; ?>, mais c'est normé, «propre» comme truc, y a une utilité particulière à part économiser quelques octets ?

http://fr2.php.net/manual/fr/language.b … hpmode.php Exemple #3

Apparemment c'est juste un raccourcis, si c'est dans la doc je suppose que c'est valide, mais si quelqu'un a une explication ça m'intéresse quand même smile

Hors ligne

#1141 Le 07/11/2010, à 03:07

grim7reaper

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

@Pylade : Mais ça plante à tout les coups (c'est avec une option en particulier) ?
Parce que je n'arrive pas à reproduire le bug là.

Dernière modification par grim7reaper (Le 07/11/2010, à 03:07)

Hors ligne

#1142 Le 07/11/2010, à 03:10

Кຼزດ

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

hop²


dou

Hors ligne

#1143 Le 07/11/2010, à 03:53

nesthib

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

plop et bientôt avec plus de temps libre pour coder !


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

#1144 Le 07/11/2010, à 04:31

grim7reaper

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

@nesthib : cool.
Au fait, finalement tu les as fait tes TD pour les étudiants ?

@Pylade :

==23737== Memcheck, a memory error detector
==23737== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==23737== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info
==23737== Command: ./run_test
==23737== 


     CUnit - A unit testing framework for C - Version 2.1-2
     http://cunit.sourceforge.net/


Suite: Stropt Library
  Test: test of new_option() ...passed
  Test: test of new_long_option() ...passed
  Test: test of set_short_options() ...passed

Run Summary:    Type  Total    Ran Passed Failed Inactive
              suites      1      1    n/a      0        0
               tests      3      3      3      0        0
             asserts     26     26     26      0      n/a

Elapsed time =    0.050 seconds
==23737== 
==23737== HEAP SUMMARY:
==23737==     in use at exit: 0 bytes in 0 blocks
==23737==   total heap usage: 32 allocs, 32 frees, 607 bytes allocated
==23737== 
==23737== All heap blocks were freed -- no leaks are possible
==23737== 
==23737== For counts of detected and suppressed errors, rerun with: -v
==23737== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 15 from 8)

big_smile, impeccable (cela dit, ce n'est pas encore fini).

La redaction des tests m'a permis de trouver un bug que j'ai corrigé (je te remonterais ça demain tout à l'heure quand je serais levé…).
Juste une question, au niveau de la spécification de new_option_table (j'en ai besoin pour faire les tests). Tu acceptes les tailles de 0 ou pas ?
En passant, tu devrais ajouter un test pour éviter les tailles négatives (ou passer en unsigned int).

Dernière modification par grim7reaper (Le 07/11/2010, à 04:33)

Hors ligne

#1145 Le 07/11/2010, à 07:42

Compteur du TdCCT

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

Scores totaux, depuis le début :

1) 1781    nesthib
2) 1716    samuncle
3) 1464    Pylade
4) 1063    Кຼزດ
5) 883    cm-t
6) 733+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
7) 676    Р☢w ! ✰ :mad: ✰ (эй !)
8) 670    \\Ouranos//
9) 636    helly
10) 368    Lagierl
11) 321    gnuuat
12) 266    tshirtman
13) 167    Kanor
14) 156    Askelon
15) 121    ǤƦƯƝƬ
16) 93    petifrancais
17) 92    nathéo
18) 78    edge_one
19) 70    gulp
20) 66    pierguiard
21) 59    kamui57
22) 50    The Uploader
23) 37    ilagas
24) 30    keny
25) 27    Le Rouge
26) 25    GentooUser
27) 24    ไ୦บเઢ'
28) 20    Morgiver
28) 20    CROWD
30) 19    xapantu
31) 18    Ph3nix_
32) 15    timsy
33) 14    kouskous
34) 12    stratoboy
34) 12    sailing
36) 11    alexises
36) 11    Crocoii
38) 10    Toineo
38) 10    NutMotion
38) 10    pseudovingtcinqcaracteres
38) 10    pfriedZ
42) 8    Mornagest
43) 7    Vista
44) 6    Zeibux
44) 6    ubuntlin
44) 6    asma.geek
47) 5    tendances-tdct
48) 4    danychou56
48) 4    Neros
48) 4    Biaise
48) 4    totoflute
48) 4    pinballyoda ㋛
53) 2    SoJaS
53) 2    ceric
55) 1    geenux

chart?chs=675x280&cht=p3&chco=d80020,d88000,ffd840,20d820,2080ff,101080,a020d8&chf=bg,s,fbf9f4&chl=00h%20-%2000h59|01h%20-%2001h59|02h%20-%2002h59|03h%20-%2003h59|04h%20-%2004h59|07h%20-%2007h59|19h%20-%2019h59|20h%20-%2020h59|21h%20-%2021h59|22h%20-%2022h59&chd=t:2,7,10,5,1,2,2,2,2,1&chp=1.6&chtt=R%C3%A9partition%20des%20posts&chts=606060,16chart?chs=675x250&cht=bvs&chxt=x,y&chds=0,20&chxr=1,0,20&chf=b0,lg,0,803000,0,ffc080,1|bg,s,fbf9f4&chxl=0:|05h|06h|07h|08h|09h|10h|11h|12h|13h|14h|15h|16h|17h|18h|19h|20h|21h|22h|23h|00h|01h|02h|03h|04h&chxp=0,0.7,4.9,9.1,13.2,17.3,21.5,25.6,29.8,33.9,38,42.2,46.3,50.5,54.6,58.8,62.9,67,71.2,75.3,79.4,83.6,87.7,91.8,96&chd=t:0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,2,2,1,0,2,7,10,5,1&chm=N,803000,0,-1,12&chtt=|Nombre%20de%20posts%20par%20heure&chts=606060,16


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

#1146 Le 07/11/2010, à 07:42

Compteur du TdCCT

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

Scores de la période en cours :

1) 60    nesthib
1) 60    nathéo
3) 56    samuncle
4) 55    grim7reaper
5) 40    Кຼزດ
6) 37    cm-t
7) 32    gnuuat
8) 29    Pylade
9) 26    Askelon
10) 16    \\Ouranos//
11) 10    tshirtman
12) 8    Lagierl
13) 3    Kanor
14) 1    xapantu

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

#1147 Le 07/11/2010, à 11:12

xapantu

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

Askelon a écrit :
Askelon a écrit :

Y a un codeur Php qui peut m'expliquer à quoi sert le <?= $var ?> ? Apparemment à faire la même chose que <?php echo $var; ?>, mais c'est normé, «propre» comme truc, y a une utilité particulière à part économiser quelques octets ?

http://fr2.php.net/manual/fr/language.b … hpmode.php Exemple #3

Apparemment c'est juste un raccourcis, si c'est dans la doc je suppose que c'est valide, mais si quelqu'un a une explication ça m'intéresse quand même smile

À mon avis, c'est juste pour économiser quelques octets, mais ça rend le code vraiment plus lisible, je trouve (et c'est moins long à écrire pour le dev aussi ^^).

Hors ligne

#1148 Le 07/11/2010, à 12:38

Pylades

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

grim7reaper a écrit :

@Pylade : Mais ça plante à tout les coups (c'est avec une option en particulier) ?
Parce que je n'arrive pas à reproduire le bug là.

Euh… faut croire que j'ai oublié de faire un MrProper avant de lancer la compilation en mode release. ><"
D'ailleurs, comment on fait pour forcer la recompilation si on passe une option à Make ?


grim7reaper a écrit :

[…]
Juste une question, au niveau de la spécification de new_option_table (j'en ai besoin pour faire les tests). Tu acceptes les tailles de 0 ou pas ?
En passant, tu devrais ajouter un test pour éviter les tailles négatives (ou passer en unsigned int).

Hum, c'est vrai qu'il ne faut jamais faire confiance à l'utilisateur. Je pense que je vais accepter les tailles de 0. Mais oui, je vais vite passer l'argument en unsigned, merci. smile


“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 07/11/2010, à 14:08

grim7reaper

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

Pylade a écrit :

D'ailleurs, comment on fait pour forcer la recompilation si on passe une option à Make ?

C'est-à-dire ?

Bon sinon pour le bug que j'ai trouvé, c'est dans la fonction set_short_options. J'ai remplacé

free(ptr->short_act);
free(ptr->short_unact);

par

free(ptr->short_act);
ptr->short_act = NULL;
free(ptr->short_unact);
ptr->short_unact = NULL;

Car sans remettre a NULL, si le mec passe une chaîne invalide (avec une espace ou un '-') tu libère short_act et short_unact et tu sors de la fonction. Quand le mec rappelle set_short_options tu refais les free, les adresses ne sont pas NULL donc tu libères 2 fois la même zone mémoire et ça crash

Hors ligne

#1150 Le 07/11/2010, à 14:29

Pylades

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

En effet, merci beaucoup. smile

(J'ai encore beaucoup à apprendre…)


“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