annotate src/lastfile.c @ 23323:0800a4f84757

(underlying_strftime): Set the buffer to a nonzero value before calling strftime, and check to see whether strftime has set the buffer to zero. This lets us distinguish between an empty buffer and an error. I'm installing this patch by hand now; it will be superseded whenever the glibc sources are propagated back to fsf.org.
author Paul Eggert <eggert@twinsun.com>
date Fri, 25 Sep 1998 21:40:23 +0000
parents 6c7a46148dd4
children 38b8a103975c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Mark end of data space to dump as pure, for GNU Emacs.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 Copyright (C) 1985 Free Software Foundation, Inc.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
12244
ac7375e60931 Update GPL to version 2.
Karl Heuer <kwzh@gnu.org>
parents: 11077
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 any later version.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU General Public License for more details.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 12244
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 12244
diff changeset
19 Boston, MA 02111-1307, USA. */
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 /* How this works:
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 Fdump_emacs dumps everything up to my_edata as text space (pure).
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 The files of Emacs are written so as to have no initialized
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 data that can ever need to be altered except at the first startup.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 This is so that those words can be dumped as sharable text.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 It is not possible to exercise such control over library files.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 So it is necessary to refrain from making their data areas shared.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 Therefore, this file is loaded following all the files of Emacs
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 but before library files.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 As a result, the symbol my_edata indicates the point
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 in data space between data coming from Emacs and data
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 coming from libraries.
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 */
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38
11077
e80116526bd6 (my_edata): Declare as char array, not int.
Richard M. Stallman <rms@gnu.org>
parents: 484
diff changeset
39 char my_edata[] = "End of Emacs initialized data";
e80116526bd6 (my_edata): Declare as char array, not int.
Richard M. Stallman <rms@gnu.org>
parents: 484
diff changeset
40
19726
e003f00f25ed (my_endbss) [WINDOWSNT]: New variable.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
41 #ifdef WINDOWSNT
e003f00f25ed (my_endbss) [WINDOWSNT]: New variable.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
42 #pragma bss_seg("EMBSS")
e003f00f25ed (my_endbss) [WINDOWSNT]: New variable.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
43 /* Help unexec locate the end of the .bss area used by Emacs (which
e003f00f25ed (my_endbss) [WINDOWSNT]: New variable.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
44 isn't always a separate section in NT executables). */
e003f00f25ed (my_endbss) [WINDOWSNT]: New variable.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
45 char my_endbss[1];
e003f00f25ed (my_endbss) [WINDOWSNT]: New variable.
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
46 #endif
21623
6c7a46148dd4 * lastfile.c (_my_endbss, my_endbss_static): New variables.
Geoff Voelker <voelker@cs.washington.edu>
parents: 19726
diff changeset
47 /* The Alpha MSVC linker globally segregates all static and public bss
6c7a46148dd4 * lastfile.c (_my_endbss, my_endbss_static): New variables.
Geoff Voelker <voelker@cs.washington.edu>
parents: 19726
diff changeset
48 data, so we must take both into account to determine the true extent
6c7a46148dd4 * lastfile.c (_my_endbss, my_endbss_static): New variables.
Geoff Voelker <voelker@cs.washington.edu>
parents: 19726
diff changeset
49 of the bss area used by Emacs. */
6c7a46148dd4 * lastfile.c (_my_endbss, my_endbss_static): New variables.
Geoff Voelker <voelker@cs.washington.edu>
parents: 19726
diff changeset
50 static char _my_endbss[1];
6c7a46148dd4 * lastfile.c (_my_endbss, my_endbss_static): New variables.
Geoff Voelker <voelker@cs.washington.edu>
parents: 19726
diff changeset
51 char * my_endbss_static = _my_endbss;