Hallo,

else if (strstr((char*)data, "Steffen#"))
Wenn ich mich recht erinnere, vergleicht strstr() bis zum \n-Zeichen (0x00).

Da das in deiner Zeichenfolge aber nicht vorkommt, vergleicht er bis weißgott wohin, und es wäre reiner Zufall, wenn der Vergleich positiv ist.

Ich würde das #-Zeichen durch das übliche 0x00 bzw. \n ersetzen.

Es gab aber auch eine Funktion, die nur n Zeichen vergleicht, mir fällt aber der Name nicht mehr ein

Ich hoffe es hilft, Martin

EDIT: Nachtrag

Du kannst dann auch schreiben:

Code:
if (!UDR) b='1';