Vorsicht, wenn uip_appdata nur 3 Zeichen lang ist und dort "auf" steht, hinter dem Puffer aber "gabe1\0" steht, sind die Strings in Deinem Fall gleich, obwohl eigentlich ungleich heraus kommen müsste. Ist zugegebenermassen ein pathologischer Fall, aber die Wahrscheinlichkeit ist != 0, insbesondere, wenn vorher strcpy statt strncpy verwendet wurde. An keiner Stelle ist gesagt, dass der Puffer einen 0-terminierten String enthält.