Hallo an alle C-Experten,
in der Funktionsbeschreibung von asprintf(&buffer, ...) ist leider nichts davon enthalten, ob ein bereits reservierter Speicherbereich wie hier
Code
char *timestr = NULL;
asprintf(×tr, "%s", IndexToHMSF(Current, DisplayFrames));
asprintf(×tr, "%s / %s ", timestr, IndexToHMSF(Total));
Text(width - cBitmap::Width(timestr) - 14, ty + 3, timestr, clrWhite, clrBackground);
free(timestr);
in Zeile 2 in der Zeile 3 wieder freigeben wird?
* Wenn ja warum wird wie hier
nicht Prompt mit NULL initalisiert?
oder wofür steht dann die 2 in diesem Code
Code
static char *buffer = NULL;
free(buffer);
asprintf(&buffer, "%s/plugins%s%s", configDirectory, PluginName ? "/" : "", PluginName ? PluginName : "");
Alle Beispiele sind dem VDR-Code entnommen.
Hardy