diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2006-04-10 14:52:24 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2006-04-10 14:52:24 +0000 |
commit | e349ae3b6b6db99d11321622fadff88bc42c1125 (patch) | |
tree | 7a24a5dad70d4b3695f227681fc37e179551d24a /lib-src | |
parent | 2518de51d20e848711c712f5030e8c207a4e2840 (diff) | |
parent | 4f07f2e8a5458758dcf2bfbdf9b0cf8c91a8572e (diff) | |
download | emacs-e349ae3b6b6db99d11321622fadff88bc42c1125.tar.gz |
Merged from
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-188
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-189
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-190
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-191
Undo incorrect merge of etc/images/README from Gnus 5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-192
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-193
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-194
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-195
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-196
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-197
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-198
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-199
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-200
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-201
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-202
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-203
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-204
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-205
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-206
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-73
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-74
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-75
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-76
Update from CVS: README: Addition from 5.10.6 tar ball.
* emacs@sv.gnu.org/gnus--rel--5.10--patch-77
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-78
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-79
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-80
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-547
Diffstat (limited to 'lib-src')
-rw-r--r-- | lib-src/ChangeLog | 10 | ||||
-rw-r--r-- | lib-src/README | 2 | ||||
-rw-r--r-- | lib-src/b2m.c | 19 | ||||
-rw-r--r-- | lib-src/fakemail.c | 19 |
4 files changed, 27 insertions, 23 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 72ff56c2dfd..a38c0cb6770 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,13 @@ +2006-04-02 Paul Eggert <eggert@cs.ucla.edu> + + * b2m.c (main): Don't include <limits.h>. + (TM_YEAR_BASE): New macro. + (TM_YEAR_IN_ASCTIME_RANGE): Don't define if already defined, so + that s/ files can override this. Use the more-conservative range + 1000-9999. + (main): Check for asctime returning NULL. + * fakemail.c: Likewise. + 2006-03-27 Paul Eggert <eggert@cs.ucla.edu> * b2m.c: Include <limits.h>. diff --git a/lib-src/README b/lib-src/README index 4d29931a6e9..693b5be74cb 100644 --- a/lib-src/README +++ b/lib-src/README @@ -1,3 +1,3 @@ This directory contains the source code for the architecture-dependent files that go in ${archlibdir}. At present, these are mostly utility -programs used by Emacs. +programs used by GNU Emacs. diff --git a/lib-src/b2m.c b/lib-src/b2m.c index adaa736bcd9..a3ab9a5bb9a 100644 --- a/lib-src/b2m.c +++ b/lib-src/b2m.c @@ -26,7 +26,6 @@ #undef static #endif -#include <limits.h> #include <stdio.h> #include <time.h> #include <sys/types.h> @@ -45,15 +44,13 @@ typedef int logical; -/* True if TM_YEAR is a struct tm's tm_year value that is acceptable - to asctime. Glibc asctime returns a useful string unless TM_YEAR - is nearly INT_MAX, but the C Standard lets C libraries overrun a - buffer if TM_YEAR needs more than 4 bytes. */ -#ifdef __GLIBC__ -# define TM_YEAR_IN_ASCTIME_RANGE(tm_year) ((tm_year) <= INT_MAX - 1900) -#else +#define TM_YEAR_BASE 1900 + +/* Nonzero if TM_YEAR is a struct tm's tm_year value that causes + asctime to have well-defined behavior. */ +#ifndef TM_YEAR_IN_ASCTIME_RANGE # define TM_YEAR_IN_ASCTIME_RANGE(tm_year) \ - (-999 - 1900 <= (tm_year) && (tm_year) <= 9999 - 1900) + (1000 - TM_YEAR_BASE <= (tm_year) && (tm_year) <= 9999 - TM_YEAR_BASE) #endif /* @@ -148,9 +145,9 @@ main (argc, argv) Don't use 'ctime', as that might dump core if the hardware clock is set to a bizarre value. */ tm = localtime (<oday); - if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year))) + if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year) + && (today = asctime (tm)))) fatal ("current time is out of range"); - today = asctime (tm); data.size = 200; data.buffer = xnew (200, char); diff --git a/lib-src/fakemail.c b/lib-src/fakemail.c index 2c2b462e366..6b8634f34ab 100644 --- a/lib-src/fakemail.c +++ b/lib-src/fakemail.c @@ -53,7 +53,6 @@ main () #include "ntlib.h" #endif -#include <limits.h> #include <stdio.h> #include <string.h> #include <ctype.h> @@ -71,15 +70,13 @@ main () #define true 1 #define false 0 -/* True if TM_YEAR is a struct tm's tm_year value that is acceptable - to asctime. Glibc asctime returns a useful string unless TM_YEAR - is nearly INT_MAX, but the C Standard lets C libraries overrun a - buffer if TM_YEAR needs more than 4 bytes. */ -#ifdef __GLIBC__ -# define TM_YEAR_IN_ASCTIME_RANGE(tm_year) ((tm_year) <= INT_MAX - 1900) -#else +#define TM_YEAR_BASE 1900 + +/* Nonzero if TM_YEAR is a struct tm's tm_year value that causes + asctime to have well-defined behavior. */ +#ifndef TM_YEAR_IN_ASCTIME_RANGE # define TM_YEAR_IN_ASCTIME_RANGE(tm_year) \ - (-999 - 1900 <= (tm_year) && (tm_year) <= 9999 - 1900) + (1000 - TM_YEAR_BASE <= (tm_year) && (tm_year) <= 9999 - TM_YEAR_BASE) #endif /* Various lists */ @@ -378,9 +375,9 @@ make_file_preface () Don't use 'ctime', as that might dump core if the hardware clock is set to a bizarre value. */ tm = localtime (&idiotic_interface); - if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year))) + if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year) + && (the_date = asctime (tm)))) fatal ("current time is out of range", 0); - the_date = asctime (tm); /* the_date has an unwanted newline at the end */ date_length = strlen (the_date) - 1; the_date[date_length] = '\0'; |