nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Vergleich zeigt bei gleichen Werten ungleich.

Von: Martin Freiberg (lyki_@web.de) [Profil]
Datum: 23.02.2009 00:34
Message-ID: <gnsn6p$dht$01$1@news.t-online.com>
Newsgroup: de.comp.os.unix.programming

Hallo,


Ich habe hier ein kleines Problem. Hier nur die relevanten Zeilen.
Im eigentlichen Programm wird "merk" errechnet.
Fall wichtig, es ist ein Kernelmodul an dem ich werkle.  :)


void handshake (char flag, char signal) {

unsigned char merk;

// diverse Programmzeilen ...

merk = 0x80;   // Inhalt wird normal errechnet

if ((merk & flag) == signal) {

// tue hier wenn true

} else {

// tue hier wenn false

printk (KERN_INFO ":Handshake And=%X  Sig=%X \n", merk & flag, signal);

}
}


// hier ein Programmteil ....

handshake (0x80,0x80);

// weitere Programmzeilen ....


Warum ergibt der Vergleich in der Funktion immer false?
Es wird immer der Programteil nach dem else ausgeführt.

Im Log steht:
....  :Handshake And=0x80  Sig=0x80


Sollte so doch nicht vorkommen, oder?


Gruß
Martin

[ Auf dieses Posting antworten ]

Antworten