|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
Comportement de pointeurs étrange.Bonjour !
Etant en train de lire le code d'installboot(8/i386), j'ai voulu essayer les fonctions utilisées dans son code avec ces quelques lignes : http://hyjial.free.fr/dotclear/public/disk.c Il en sort : http://hyjial.free.fr/dotclear/public/disk.out En d'autres termes *dev est NULL lors de la deuxième comparaison. Je ne comprends pas pourquoi. Des idées ? Merci d'avance. hyjial ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Comportement de pointeurs étrange.On 1 mars 09, at 17:14, hyjial wrote:
> Bonjour ! > > Etant en train de lire le code d'installboot(8/i386), j'ai voulu > essayer les fonctions utilisées dans son code avec ces quelques > lignes : > http://hyjial.free.fr/dotclear/public/disk.c > > Il en sort : > http://hyjial.free.fr/dotclear/public/disk.out > > En d'autres termes *dev est NULL lors de la deuxième comparaison. Je > ne comprends pas pourquoi. Des idées ? > > Merci d'avance. > > hyjial C'est à cause d'une erreur de débutant en C ;) Tu déclares la variable char **dev sans l'initialiser. Donc quand tu dis à opendev de modifier *dev pour le faire pointer vers le nom complet du device, la valeur *dev qui est changée est à un endroit aléatoire de la mémoire (correspondant à ce qu'il y a sur la pile à l'endroit où dev est stocké). dev doit probablement pointer sur un endroit de la pile également, et est écrasée par l'appel à ioctl, ce qui expliquerait le changement de valeur de *dev après l'appel à ioctl. Regarde les sources originales de installboot, ce n'est bien entendu pas comme ça que c'est codé. Pierre Riteau ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Comportement de pointeurs étrange.On Sunday 01 March 2009 17:14:24 hyjial wrote:
> Bonjour ! > > Etant en train de lire le code d'installboot(8/i386), j'ai voulu essayer > les fonctions utilisées dans son code avec ces quelques lignes : > http://hyjial.free.fr/dotclear/public/disk.c > > Il en sort : > http://hyjial.free.fr/dotclear/public/disk.out > > En d'autres termes *dev est NULL lors de la deuxième comparaison. Je ne > comprends pas pourquoi. Des idées ? > > Merci d'avance. > > hyjial > > > > > > ________________________________ > French OpenBSD mailing list > misc@... > http://www.openbsd-france.org/ml Il Me semble que le périphérique pour faire de opérations sur les disques c'est plutot /dev/rsd0. Que veux tu faires exactement ? BSDManiak ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
|
|
Re: Comportement de pointeurs étrange.On 1 mars 09, at 20:59, Azwaw OUSADOU wrote:
> On Sunday 01 March 2009 17:14:24 hyjial wrote: >> Bonjour ! >> >> Etant en train de lire le code d'installboot(8/i386), j'ai voulu >> essayer >> les fonctions utilisées dans son code avec ces quelques lignes : >> http://hyjial.free.fr/dotclear/public/disk.c >> >> Il en sort : >> http://hyjial.free.fr/dotclear/public/disk.out >> >> En d'autres termes *dev est NULL lors de la deuxième comparaison. >> Je ne >> comprends pas pourquoi. Des idées ? >> >> Merci d'avance. >> >> hyjial >> >> >> >> >> >> ________________________________ >> French OpenBSD mailing list >> misc@... >> http://www.openbsd-france.org/ml > > Il Me semble que le périphérique pour faire de opérations sur les > disques > c'est plutot /dev/rsd0. Que veux tu faires exactement ? > > BSDManiak http://www.openbsd.org/cgi-bin/man.cgi?query=opendev&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html ________________________________ French OpenBSD mailing list misc@... http://www.openbsd-france.org/ml |
| Free embeddable forum powered by Nabble | Forum Help |