Chris: C Speicherproblem ...

Beitrag lesen

Hallo zusammen,

ich habe ein komisches Problem mit einem kleinen C Programm das mir bald meinen Verstand nimmt ;-(

Ich Deklariere eine Variable "query" um diese in meiner Funtkion zu benutzen.

Aber beim ersten Durchlauf meiner Whileschleife hat die Variable den Inhalt "4{@4{@".

Beim 2ten durchlauf ist die Variable dann so wie sie eigentlich sein soll, ich kann das absolut nicht verstehen ;-(

Hier mal das Stück Code (gekürzt, aber der gleiche Effekt):

void RunJobs()
{
   MYSQL_ROW  row, zon;
   MYSQL_RES  *res,*res1;
   FILE *stream;
   FILE *zone;
   char *str,*query;
   int size=0, i;

mysql_query(mysql, "SELECT * FROM domains WHERE MID=0");
   CheckError();

res = mysql_store_result(mysql);
   CheckError();

mysql_field_seek (res, 0);

while ((row = mysql_fetch_row (res)) != NULL)
   {
       query =(char *) malloc(11);
       printf("Hier der Inhalt von Query: %s\n",query);
       free(query);
   }

mysql_free_result(res);

}

Der Code lässt einsehen das ich dort einen Query für eine Mysql Abfrage zusammen bauen möchte, habe das ganze aber wegen der Übersicht auf das Minimum begrenzt.

Habt Ihr vieleicht Rat für mich ?

Wenn ich hier mit meiner Frage im falschen Forum gelandet bin gebt mir doch bitte einen Tipp wo ich noch schauen könnte ...

Jedenfalls danke und viele Grüße,

Chris