[Allegro] Etwas für C-Programmierer: strcpy() vs. memmove()

Thomas Berger ThB at Gymel.com
Mo Dez 2 13:14:40 CET 2013


Lieber Herr Fischer,

> 1. Am Anfang dieser Debatte stand m.E. das Problem, dass unsere kombinierte
> HANS-Suche nicht wie gewünscht funktionierte, weil - so analysierte Herr Berger
> - acon (ein?) Zeichen bei der Verarbeitung der Suche verschluckte.
> 2. Dies führte er auf das strcpy-Verhalten zurück, die von Ihnen mit Visual
> Studio produzierte acon.exe (v.33.4) zeigte dieses Verhalten, nicht aber die
> erneuerte jetzt aktuelle Version von acon.exe.

Evtl. erinnern Sie sich falsch, acon hatte auf allen Plattformen Probleme
mit Suchbegriffen, die ein "#" enthielten. Nach meiner Erinnerung aber
nur unter Linux gab es das Problem, dass Suchbegriffe verstuemmelt wurden.

> Damit ergibt sich die Frage: war die Analyse von Herrn Berger falsch, ging
> das
> fehlende Zeichen also auf andere Weise als durch strcpy verloren? Oder hat Ihr
> Compiler in dieser Situation doch ein unsicheres strcpy eingebaut, das bei
> Überschneidung von Quelle und Ziel fehlerhafte Ergebnisse lieferte?

Ich kann dazu nur beisteuern, dass die Umwandlung eines bestimmten
strcpy() in memmove() nach Neukompilierung das Problem behob...

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro