projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
From http://www.jwz.org/xscreensaver/xscreensaver-5.23.tar.gz
[xscreensaver]
/
driver
/
prefs.c
diff --git
a/driver/prefs.c
b/driver/prefs.c
index 4d6c80e2b0f60bf563b7ffcd5125e3e0ca2d0da2..399a086ebecd60849cfdd5e85159cd9a4b05b009 100644
(file)
--- 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);
{
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;
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);
strncpy (mon, s, 3);
- s = strchr (s, '-');
- s++;
- strncpy (year, s, 4);
mon[3] = 0;
mon[3] = 0;
+ s = strchr (s, '-'); if (!s) abort(); s++;
+ strncpy (year, s, 4);
year[4] = 0;
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;
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();
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));
months = ((((tm->tm_year + 1900) * 12) + tm->tm_mon) -
(y * 12 + m));