Mercurial > emacs
annotate lib-src/b2m.c @ 22758:dbd9ecc9dbac
Added next-buffer/previous-buffer keybindings (bound to M-n/M-p).
(crisp-unbury-buffer): New function.
Fixed bogus XEmacs/Lucid string-match checking.
Made modeline entry mouse2-able.
(crisp-mode-map): Make this a sparse keymap parented from
current-global-map.
(crisp-mode-original-keymap): Don't copy the keymap.
(crisp-last-last-command): Renamed from last-last-command. defvar it.
(crisp-mode): Honor ARG.
(crisp-kill-line, crisp-copy-line): When a region isn't highlighted,
use the region from point to eol. Honor prefix argument.
(crisp-submit-bug-report): New command, taken from cc-mode.
Shortened the version numbering, removed the release-version tracking
(crisp-version): New function.
New keybindings `C-home', `C-end', `M-home', `M-end', `C-f', `M-l',
`M-m'.
(crisp-copy-line): No need to save point.
Removed S-right and S-left bindings.
Abstract the marking and selection interfaces so that we can be
compatible with both Emacs and XEmacs. And try and make the
behavior as close as possible under both environments so that there
are no surprises.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 14 Jul 1998 22:17:35 +0000 |
parents | 49b24e54a5fa |
children | 134b57acef68 |
rev | line source |
---|---|
440 | 1 /* |
2 * b2m - a filter for Babyl -> Unix mail files | |
3 * | |
4 * usage: b2m < babyl > mailbox | |
5 * | |
6 * I find this useful whenever I have to use a | |
7 * system which - shock horror! - doesn't run | |
8 * Gnu emacs. At least now I can read all my | |
9 * Gnumacs Babyl format mail files! | |
10 * | |
11 * it's not much but it's free! | |
12 * | |
13 * Ed Wilkinson | |
14 * E.Wilkinson@massey.ac.nz | |
15 * Mon Nov 7 15:54:06 PDT 1988 | |
16 */ | |
17 | |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
18 /* Made conformant to the GNU coding standards January, 1995 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
19 by Francesco Potorti` <pot@cnuce.cnr.it>. */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
20 |
440 | 21 #include <stdio.h> |
22 #include <time.h> | |
4008
b43e59cb1d54
* b2m.c: #include <sys/types.h>.
Jim Blandy <jimb@redhat.com>
parents:
2101
diff
changeset
|
23 #include <sys/types.h> |
20328 | 24 #include <getopt.h> |
5448
18de002e47dd
(main) [MSDOS]: Open all files as binary.
Richard M. Stallman <rms@gnu.org>
parents:
4696
diff
changeset
|
25 #ifdef MSDOS |
18de002e47dd
(main) [MSDOS]: Open all files as binary.
Richard M. Stallman <rms@gnu.org>
parents:
4696
diff
changeset
|
26 #include <fcntl.h> |
18de002e47dd
(main) [MSDOS]: Open all files as binary.
Richard M. Stallman <rms@gnu.org>
parents:
4696
diff
changeset
|
27 #endif |
998 | 28 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
29 #ifdef HAVE_CONFIG_H |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
30 #include <config.h> |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
31 /* On some systems, Emacs defines static as nothing for the sake |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
32 of unexec. We don't want that here since we don't use unexec. */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
33 #undef static |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
34 #endif |
440 | 35 |
21386
49b24e54a5fa
Include <stdlib.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
21354
diff
changeset
|
36 #ifdef STDC_HEADERS |
49b24e54a5fa
Include <stdlib.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
21354
diff
changeset
|
37 #include <stdlib.h> |
49b24e54a5fa
Include <stdlib.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
21354
diff
changeset
|
38 #endif |
49b24e54a5fa
Include <stdlib.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
21354
diff
changeset
|
39 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
40 #undef TRUE |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
41 #define TRUE 1 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
42 #undef FALSE |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
43 #define FALSE 0 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
44 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
45 /* Exit codes for success and failure. */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
46 #ifdef VMS |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
47 #define GOOD 1 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
48 #define BAD 0 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
49 #else |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
50 #define GOOD 0 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
51 #define BAD 1 |
4572
beb5acbcd482
(TRUE, FALSE): Don't define if already defined.
Richard M. Stallman <rms@gnu.org>
parents:
4008
diff
changeset
|
52 #endif |
440 | 53 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
54 #define streq(s,t) (strcmp (s, t) == 0) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
55 #define strneq(s,t,n) (strncmp (s, t, n) == 0) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
56 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
57 typedef int logical; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
58 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
59 /* |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
60 * A `struct linebuffer' is a structure which holds a line of text. |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
61 * `readline' reads a line from a stream into a linebuffer and works |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
62 * regardless of the length of the line. |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
63 */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
64 struct linebuffer |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
65 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
66 long size; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
67 char *buffer; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
68 }; |
8957
4dffbc5d5dc7
(from, labels, data): Use MAX_DATA_LEN as length.
Richard M. Stallman <rms@gnu.org>
parents:
7528
diff
changeset
|
69 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
70 extern char *strtok(); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
71 |
11674
754722efad75
(xmalloc, xrealloc): Declare them long *.
Richard M. Stallman <rms@gnu.org>
parents:
11423
diff
changeset
|
72 long *xmalloc (), *xrealloc (); |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
73 char *concat (); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
74 long readline (); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
75 void fatal (); |
440 | 76 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
77 /* |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
78 * xnew -- allocate storage. SYNOPSIS: Type *xnew (int n, Type); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
79 */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
80 #define xnew(n, Type) ((Type *) xmalloc ((n) * sizeof (Type))) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
81 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
82 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
83 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
84 char *progname; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
85 |
20328 | 86 struct option longopts[] = |
87 { | |
88 { "help", no_argument, NULL, 'h' }, | |
89 { "version", no_argument, NULL, 'V' }, | |
90 { 0 } | |
91 }; | |
92 | |
93 extern int optind; | |
94 | |
21386
49b24e54a5fa
Include <stdlib.h> if available.
Andreas Schwab <schwab@suse.de>
parents:
21354
diff
changeset
|
95 int |
2101
df8249aa4901
* b2m.c (main): Don't exit upon reading a blank line.
Jim Blandy <jimb@redhat.com>
parents:
998
diff
changeset
|
96 main (argc, argv) |
df8249aa4901
* b2m.c (main): Don't exit upon reading a blank line.
Jim Blandy <jimb@redhat.com>
parents:
998
diff
changeset
|
97 int argc; |
df8249aa4901
* b2m.c (main): Don't exit upon reading a blank line.
Jim Blandy <jimb@redhat.com>
parents:
998
diff
changeset
|
98 char **argv; |
440 | 99 { |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
100 logical labels_saved, printing, header; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
101 time_t ltoday; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
102 char *labels, *p, *today; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
103 struct linebuffer data; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
104 |
5448
18de002e47dd
(main) [MSDOS]: Open all files as binary.
Richard M. Stallman <rms@gnu.org>
parents:
4696
diff
changeset
|
105 #ifdef MSDOS |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
106 _fmode = O_BINARY; /* all of files are treated as binary files */ |
14968
1351c75bc3d6
(main) [MSDOS]: Handle DJGPP version 2.
Richard M. Stallman <rms@gnu.org>
parents:
14850
diff
changeset
|
107 #if __DJGPP__ > 1 |
1351c75bc3d6
(main) [MSDOS]: Handle DJGPP version 2.
Richard M. Stallman <rms@gnu.org>
parents:
14850
diff
changeset
|
108 if (!isatty (fileno (stdout))) |
1351c75bc3d6
(main) [MSDOS]: Handle DJGPP version 2.
Richard M. Stallman <rms@gnu.org>
parents:
14850
diff
changeset
|
109 setmode (fileno (stdout), O_BINARY); |
1351c75bc3d6
(main) [MSDOS]: Handle DJGPP version 2.
Richard M. Stallman <rms@gnu.org>
parents:
14850
diff
changeset
|
110 if (!isatty (fileno (stdin))) |
1351c75bc3d6
(main) [MSDOS]: Handle DJGPP version 2.
Richard M. Stallman <rms@gnu.org>
parents:
14850
diff
changeset
|
111 setmode (fileno (stdin), O_BINARY); |
1351c75bc3d6
(main) [MSDOS]: Handle DJGPP version 2.
Richard M. Stallman <rms@gnu.org>
parents:
14850
diff
changeset
|
112 #else /* not __DJGPP__ > 1 */ |
5448
18de002e47dd
(main) [MSDOS]: Open all files as binary.
Richard M. Stallman <rms@gnu.org>
parents:
4696
diff
changeset
|
113 (stdout)->_flag &= ~_IOTEXT; |
18de002e47dd
(main) [MSDOS]: Open all files as binary.
Richard M. Stallman <rms@gnu.org>
parents:
4696
diff
changeset
|
114 (stdin)->_flag &= ~_IOTEXT; |
14968
1351c75bc3d6
(main) [MSDOS]: Handle DJGPP version 2.
Richard M. Stallman <rms@gnu.org>
parents:
14850
diff
changeset
|
115 #endif /* not __DJGPP__ > 1 */ |
5448
18de002e47dd
(main) [MSDOS]: Open all files as binary.
Richard M. Stallman <rms@gnu.org>
parents:
4696
diff
changeset
|
116 #endif |
14850
13d38dfedb51
(main): Initialize progname variable before using it.
Richard M. Stallman <rms@gnu.org>
parents:
11674
diff
changeset
|
117 progname = argv[0]; |
13d38dfedb51
(main): Initialize progname variable before using it.
Richard M. Stallman <rms@gnu.org>
parents:
11674
diff
changeset
|
118 |
20328 | 119 while (1) |
120 { | |
121 int opt = getopt_long (argc, argv, "hV", longopts, 0); | |
122 if (opt == EOF) | |
123 break; | |
124 | |
125 switch (opt) | |
126 { | |
127 case 'V': | |
128 printf ("%s (GNU Emacs %s)\n", "b2m", VERSION); | |
129 puts ("b2m is in the public domain."); | |
130 exit (GOOD); | |
131 | |
132 case 'h': | |
133 fprintf (stderr, "Usage: %s <babylmailbox >unixmailbox\n", progname); | |
134 exit (GOOD); | |
135 } | |
136 } | |
137 | |
138 if (optind != argc) | |
6173
cbf3383981cb
(main): Change delimiter from "^L" to "^_^L".
Karl Heuer <kwzh@gnu.org>
parents:
5448
diff
changeset
|
139 { |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
140 fprintf (stderr, "Usage: %s <babylmailbox >unixmailbox\n", progname); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
141 exit (GOOD); |
6173
cbf3383981cb
(main): Change delimiter from "^L" to "^_^L".
Karl Heuer <kwzh@gnu.org>
parents:
5448
diff
changeset
|
142 } |
20328 | 143 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
144 labels_saved = printing = header = FALSE; |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
145 ltoday = time (0); |
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
146 today = ctime (<oday); |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
147 data.size = 200; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
148 data.buffer = xnew (200, char); |
440 | 149 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
150 if (readline (&data, stdin) == 0 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
151 || !strneq (data.buffer, "BABYL OPTIONS:", 14)) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
152 fatal ("standard input is not a Babyl mailfile."); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
153 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
154 while (readline (&data, stdin) > 0) |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
155 { |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
156 if (streq (data.buffer, "*** EOOH ***") && !printing) |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
157 { |
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
158 printing = header = TRUE; |
14850
13d38dfedb51
(main): Initialize progname variable before using it.
Richard M. Stallman <rms@gnu.org>
parents:
11674
diff
changeset
|
159 printf ("From \"Babyl to mail by %s\" %s", progname, today); |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
160 continue; |
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
161 } |
6173
cbf3383981cb
(main): Change delimiter from "^L" to "^_^L".
Karl Heuer <kwzh@gnu.org>
parents:
5448
diff
changeset
|
162 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
163 if (data.buffer[0] == '\037') |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
164 { |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
165 if (data.buffer[1] == '\0') |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
166 continue; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
167 else if (data.buffer[1] == '\f') |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
168 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
169 /* Save labels. */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
170 readline (&data, stdin); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
171 p = strtok (data.buffer, " ,\r\n\t"); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
172 labels = "X-Babyl-Labels: "; |
440 | 173 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
174 while (p = strtok (NULL, " ,\r\n\t")) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
175 labels = concat (labels, p, ", "); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
176 |
11423
a096f82d87d9
(main): Check for trailing ", " before trying to delete it.
Karl Heuer <kwzh@gnu.org>
parents:
10370
diff
changeset
|
177 p = &labels[strlen (labels) - 2]; |
a096f82d87d9
(main): Check for trailing ", " before trying to delete it.
Karl Heuer <kwzh@gnu.org>
parents:
10370
diff
changeset
|
178 if (*p == ',') |
a096f82d87d9
(main): Check for trailing ", " before trying to delete it.
Karl Heuer <kwzh@gnu.org>
parents:
10370
diff
changeset
|
179 *p = '\0'; |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
180 printing = header = FALSE; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
181 labels_saved = TRUE; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
182 continue; |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
183 } |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
184 } |
440 | 185 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
186 if ((data.buffer[0] == '\0') && header) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
187 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
188 header = FALSE; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
189 if (labels_saved) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
190 puts (labels); |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
191 } |
440 | 192 |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
193 if (printing) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
194 puts (data.buffer); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
195 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
196 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
197 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
198 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
199 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
200 /* |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
201 * Return a newly-allocated string whose contents |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
202 * concatenate those of s1, s2, s3. |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
203 */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
204 char * |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
205 concat (s1, s2, s3) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
206 char *s1, *s2, *s3; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
207 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
208 int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
209 char *result = xnew (len1 + len2 + len3 + 1, char); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
210 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
211 strcpy (result, s1); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
212 strcpy (result + len1, s2); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
213 strcpy (result + len1 + len2, s3); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
214 result[len1 + len2 + len3] = '\0'; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
215 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
216 return result; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
217 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
218 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
219 /* |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
220 * Read a line of text from `stream' into `linebuffer'. |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
221 * Return the number of characters read from `stream', |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
222 * which is the length of the line including the newline, if any. |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
223 */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
224 long |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
225 readline (linebuffer, stream) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
226 struct linebuffer *linebuffer; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
227 register FILE *stream; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
228 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
229 char *buffer = linebuffer->buffer; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
230 register char *p = linebuffer->buffer; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
231 register char *pend; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
232 int chars_deleted; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
233 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
234 pend = p + linebuffer->size; /* Separate to avoid 386/IX compiler bug. */ |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
235 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
236 while (1) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
237 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
238 register int c = getc (stream); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
239 if (p == pend) |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
240 { |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
241 linebuffer->size *= 2; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
242 buffer = (char *) xrealloc (buffer, linebuffer->size); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
243 p += buffer - linebuffer->buffer; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
244 pend = buffer + linebuffer->size; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
245 linebuffer->buffer = buffer; |
6215
226d490216f7
Clean up indentation and whitespace.
Richard M. Stallman <rms@gnu.org>
parents:
6214
diff
changeset
|
246 } |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
247 if (c == EOF) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
248 { |
18238
1f3d8941aba2
(readline): Terminate buffer properly when EOF seen.
Karl Heuer <kwzh@gnu.org>
parents:
14968
diff
changeset
|
249 *p = '\0'; |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
250 chars_deleted = 0; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
251 break; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
252 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
253 if (c == '\n') |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
254 { |
18238
1f3d8941aba2
(readline): Terminate buffer properly when EOF seen.
Karl Heuer <kwzh@gnu.org>
parents:
14968
diff
changeset
|
255 if (p > buffer && p[-1] == '\r') |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
256 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
257 *--p = '\0'; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
258 chars_deleted = 2; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
259 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
260 else |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
261 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
262 *p = '\0'; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
263 chars_deleted = 1; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
264 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
265 break; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
266 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
267 *p++ = c; |
440 | 268 } |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
269 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
270 return (p - buffer + chars_deleted); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
271 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
272 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
273 /* |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
274 * Like malloc but get fatal error if memory is exhausted. |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
275 */ |
11674
754722efad75
(xmalloc, xrealloc): Declare them long *.
Richard M. Stallman <rms@gnu.org>
parents:
11423
diff
changeset
|
276 long * |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
277 xmalloc (size) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
278 unsigned int size; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
279 { |
11674
754722efad75
(xmalloc, xrealloc): Declare them long *.
Richard M. Stallman <rms@gnu.org>
parents:
11423
diff
changeset
|
280 long *result = (long *) malloc (size); |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
281 if (result == NULL) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
282 fatal ("virtual memory exhausted"); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
283 return result; |
440 | 284 } |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
285 |
11674
754722efad75
(xmalloc, xrealloc): Declare them long *.
Richard M. Stallman <rms@gnu.org>
parents:
11423
diff
changeset
|
286 long * |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
287 xrealloc (ptr, size) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
288 char *ptr; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
289 unsigned int size; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
290 { |
11674
754722efad75
(xmalloc, xrealloc): Declare them long *.
Richard M. Stallman <rms@gnu.org>
parents:
11423
diff
changeset
|
291 long *result = (long *) realloc (ptr, size); |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
292 if (result == NULL) |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
293 fatal ("virtual memory exhausted"); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
294 return result; |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
295 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
296 |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
297 void |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
298 fatal (message) |
21354
f998f239f77b
(fatal): Declare the arg.
Richard M. Stallman <rms@gnu.org>
parents:
20328
diff
changeset
|
299 char *message; |
10370
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
300 { |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
301 fprintf (stderr, "%s: %s\n", progname, message); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
302 exit (BAD); |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
303 } |
4b1c8dc724e6
(concat, xmalloc, xrealloc, readline, xnew): Four new
Richard M. Stallman <rms@gnu.org>
parents:
9491
diff
changeset
|
304 |