Hi!
Ich bastle gerade ein wenig am VDR rum und schön langsam drehe ich durch. Folgendes will nicht funktionieren:
Der Codeschnippsel
liefert (erwartungsgemäß):
So weit so gut, allerdings wenn ich
Code
char buf[256];
snprintf(buf, sizeof(buf), "%s", (cTimer::PrintDay(timer.StartTime() ) ) );
printf("%s\n", buf);
mache, dann erhalte ich irgendwie totalen Blödsinn:
Kann mir das jemand erklären ....
Dabei ist timer irgendein Timer von VDR und die Funktion PrintDay ist von VDR und sieht so aus:
Code
const char *cTimer::PrintDay(int d, time_t FirstDay)
{
#define DAYBUFFERSIZE 32
static char buffer[DAYBUFFERSIZE];
if ((d & 0x80000000) != 0) {
char *b = buffer;
const char *w = tr("MTWTFSS");
while (*w) {
*b++ = (d & 1) ? *w : '-';
d >>= 1;
w++;
}
if (FirstDay) {
struct tm tm_r;
localtime_r(&FirstDay, &tm_r);
b += strftime(b, DAYBUFFERSIZE - (b - buffer), "@%Y-%m-%d", &tm_r);
}
*b = 0;
}
else
sprintf(buffer, "%d", d);
return buffer;
}
Alles anzeigen
Danke und Gruß,
Brougs78