pl: Zeichenketten, Arrays mit Zeichen in c dynamisch füllen

Beitrag lesen

problematische Seite

hii @Robert B.

für den Anwendungsfall,

Konkret gehts um den Parser, Enctype vorerst application/x-www-form-urlencoded und da die Parameter prozentkodiert sind, gibts Verschnitt. Dh. wenn für %E2%82%AC (Eurozeichen) Speicher allociert wird, werden für die Verarbeitung letztendlich nur 3 Bytes benötigt.

könntest du theoretisch ganz konservativ auch einfach genau so viel Speicher belegen, wie der Prozent-kodierte String hat, da dessen Länge ja größer bzw. gleich der Länge des Zielstrings ist.

Genau das macht mein Parser. Genauer gesagt, wird zum Reservieren die Länge des ganzen Paar name=value genommen. Was auch nicht weiter tragisch ist, weil name i.d.R. kurz gehalten wird. Da kommt es auf ein paar Bytes mehr oder weniger auch nicht an. Von daher kann für name eine feste Länge vorgegeben werden, z.B. [32] und für value eben alles zusammen.

Wie viele NULL-Bytes am Ende eines Strings stehen, wenn der Zielstring kürzer ist, macht dem späteren free nichts aus.

Ja, das free muß ich noch einbauen. Zumindest kann der Speicher für den prozentkodierten String nach dem decode wieder freigegeben werden.

MfG