Hallo,
gabs bestimmt schon mindestens 40. mal, ich hab aber über die suche nichts passendes gefunden.
ich hab mich schon immer gefragt, wie man den Speicher richtig reserviert (allozieren? allokieren? Was auch immer)
Ich habe zum Beispiel das hier (Natürlich NICHT zur Nachahmung bestimmt):
Code:
char* site = getSite(user, pass);
char* G=malloc(1024);
char* Y=malloc(1024);
sprintf(G, "%d", getGreen(site));
sprintf(Y, "%d", getYellow(site));
gtk_label_set_label(GTK_LABEL(Green), G);
gtk_label_set_label(GTK_LABEL(Yellow), Y);
free(site);
free(Y);
free(G);
Was natürlich alles falsch ist, ausser site, das wurde von curl vernümftig allokiert.
Die 1024 sind völlig überdimensioniert, für einen Integer, der wenns hochkommt maximal 200 ist. Mit Valgrind kann man garnicht mehr debuggen, weil es schon soviele Reservierungsfehler gibt. Die will ich jetzt lösen, und zwar mit eurer hilfe.
Also: Wie allokiere ich den Speicher, dass er bei "7\0" auch nur sizeof(char)*2 groß ist?
MfG Giuly
Lesezeichen