So ich hab die Funktion mal komplett mit ein paar Kommentaren erstellt:
int validate_date (char *datum, int typ)
{
char *s;
struct tm sysdate,carddate;
int day;
s = select_sysdate (30); /*funktioniert, kommt aus nem select woanders her*
//datumsstring (datum) in tm Struktur(carddate) speichern
strptime( datum, "%m.%d.%Y", &carddate );
//datumsstring (s) in tm struktur (sysdate) speichern
strptime( s, "%m.%d.%Y", &sysdate );
//carddate und sysdate in Sekunden umwandeln
//und die differenz berechnen
day = difftime( mktime(&carddate), mktime(&sysdate));
return day;
}