X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=driver%2Fprefs.c;fp=driver%2Fprefs.c;h=399a086ebecd60849cfdd5e85159cd9a4b05b009;hp=4d6c80e2b0f60bf563b7ffcd5125e3e0ca2d0da2;hb=2762a7d7cf8d83e68b8f635941f6609119d630ae;hpb=4ade52359b6eba3621566dac79793a33aa4c915f diff --git a/driver/prefs.c b/driver/prefs.c index 4d6c80e2..399a086e 100644 --- a/driver/prefs.c +++ b/driver/prefs.c @@ -1659,16 +1659,18 @@ senescent_p (void) { time_t now = time ((time_t *) 0); struct tm *tm = localtime (&now); - char *s, mon[4], year[5]; + const char *s = screensaver_id; + char mon[4], year[5]; int m, y, months; - s = strchr (screensaver_id, '-'); - s++; + s = strchr (s, ' '); if (!s) abort(); s++; + s = strchr (s, '('); if (!s) abort(); s++; + s = strchr (s, '-'); if (!s) abort(); s++; strncpy (mon, s, 3); - s = strchr (s, '-'); - s++; - strncpy (year, s, 4); mon[3] = 0; + s = strchr (s, '-'); if (!s) abort(); s++; + strncpy (year, s, 4); year[4] = 0; + y = atoi (year); if (!strcmp(mon, "Jan")) m = 0; else if (!strcmp(mon, "Feb")) m = 1; else if (!strcmp(mon, "Mar")) m = 2; @@ -1682,9 +1684,6 @@ senescent_p (void) else if (!strcmp(mon, "Nov")) m = 10; else if (!strcmp(mon, "Dec")) m = 11; else abort(); - - y = (year[0]-'0')*1000 + (year[1]-'0')*100 + (year[2]-'0')*10 +(year[3]-'0'); - months = ((((tm->tm_year + 1900) * 12) + tm->tm_mon) - (y * 12 + m));