annotate src/tparam.c @ 85414:f79d3fec6de7

(encoded-kbd-setup-display): Be careful not to remove keymaps that just happen to inherit from one of ours. When setting up our keymap, make sure it won't be accidentally modified by someone else.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 18 Oct 2007 18:53:28 +0000
parents e90d04cd455a
children fc2bcd2a8aad 95d0cdf160ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
1 /* Merge parameters into a termcap entry string.
75227
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68651
diff changeset
2 Copyright (C) 1985, 1987, 1993, 1995, 2000, 2001, 2002, 2003, 2004,
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68651
diff changeset
3 2005, 2006, 2007 Free Software Foundation, Inc.
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
4
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
5 This program is free software; you can redistribute it and/or modify
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
6 it under the terms of the GNU General Public License as published by
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
7 the Free Software Foundation; either version 2, or (at your option)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
8 any later version.
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
9
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
13 GNU General Public License for more details.
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
14
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
16 along with this program; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 53270
diff changeset
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 53270
diff changeset
18 Boston, MA 02110-1301, USA. */
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
19
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
20 /* Emacs config.h may rename various library functions such as malloc. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
21 #ifdef HAVE_CONFIG_H
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
22 #include <config.h>
12994
bd38619285f7 Don't assume that HAVE_CONFIG_H implies emacs.
David J. MacKenzie <djm@gnu.org>
parents: 12678
diff changeset
23 #endif
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
24
29805
0df8151400b9 [emacs]: Include lisp.h.
Dave Love <fx@gnu.org>
parents: 28573
diff changeset
25 #ifdef emacs
0df8151400b9 [emacs]: Include lisp.h.
Dave Love <fx@gnu.org>
parents: 28573
diff changeset
26 #include "lisp.h" /* for xmalloc */
0df8151400b9 [emacs]: Include lisp.h.
Dave Love <fx@gnu.org>
parents: 28573
diff changeset
27 #else
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
28
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
29 #ifdef STDC_HEADERS
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
30 #include <stdlib.h>
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
31 #include <string.h>
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
32 #else
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
33 char *malloc ();
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
34 char *realloc ();
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
35 #endif
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
36
43675
b9ee14ccc0c8 [!emacs]: Move #define of bcopy to after string.h.
Richard M. Stallman <rms@gnu.org>
parents: 34360
diff changeset
37 /* Do this after the include, in case string.h prototypes bcopy. */
b9ee14ccc0c8 [!emacs]: Move #define of bcopy to after string.h.
Richard M. Stallman <rms@gnu.org>
parents: 34360
diff changeset
38 #if (defined(HAVE_STRING_H) || defined(STDC_HEADERS)) && !defined(bcopy)
b9ee14ccc0c8 [!emacs]: Move #define of bcopy to after string.h.
Richard M. Stallman <rms@gnu.org>
parents: 34360
diff changeset
39 #define bcopy(s, d, n) memcpy ((d), (s), (n))
b9ee14ccc0c8 [!emacs]: Move #define of bcopy to after string.h.
Richard M. Stallman <rms@gnu.org>
parents: 34360
diff changeset
40 #endif
b9ee14ccc0c8 [!emacs]: Move #define of bcopy to after string.h.
Richard M. Stallman <rms@gnu.org>
parents: 34360
diff changeset
41
12994
bd38619285f7 Don't assume that HAVE_CONFIG_H implies emacs.
David J. MacKenzie <djm@gnu.org>
parents: 12678
diff changeset
42 #endif /* not emacs */
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
43
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
44 #ifndef NULL
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
45 #define NULL (char *) 0
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
46 #endif
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
47
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
48 #ifndef emacs
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
49 static void
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
50 memory_out ()
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
51 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
52 write (2, "virtual memory exhausted\n", 25);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
53 exit (1);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
54 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
55
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
56 static char *
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
57 xmalloc (size)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
58 unsigned size;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
59 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
60 register char *tem = malloc (size);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
61
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
62 if (!tem)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
63 memory_out ();
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
64 return tem;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
65 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
66
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
67 static char *
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
68 xrealloc (ptr, size)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
69 char *ptr;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
70 unsigned size;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
71 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
72 register char *tem = realloc (ptr, size);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
73
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
74 if (!tem)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
75 memory_out ();
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
76 return tem;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
77 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
78 #endif /* not emacs */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
79
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
80 /* Assuming STRING is the value of a termcap string entry
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
81 containing `%' constructs to expand parameters,
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
82 merge in parameter values and store result in block OUTSTRING points to.
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
83 LEN is the length of OUTSTRING. If more space is needed,
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
84 a block is allocated with `malloc'.
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
85
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
86 The value returned is the address of the resulting string.
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
87 This may be OUTSTRING or may be the address of a block got with `malloc'.
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
88 In the latter case, the caller must free the block.
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
89
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
90 The fourth and following args to tparam serve as the parameter values. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
91
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
92 static char *tparam1 ();
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
93
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
94 /* VARARGS 2 */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
95 char *
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
96 tparam (string, outstring, len, arg0, arg1, arg2, arg3)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
97 char *string;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
98 char *outstring;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
99 int len;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
100 int arg0, arg1, arg2, arg3;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
101 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
102 int arg[4];
12678
8fc56d171ada (tparam): Remove arg array and the #ifdef.
David J. MacKenzie <djm@gnu.org>
parents: 4687
diff changeset
103
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
104 arg[0] = arg0;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
105 arg[1] = arg1;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
106 arg[2] = arg2;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
107 arg[3] = arg3;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
108 return tparam1 (string, outstring, len, NULL, NULL, arg);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
109 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
110
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 43675
diff changeset
111 /* These are already defined in the System framework in Mac OS X and
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 43675
diff changeset
112 cause prebinding to fail. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 43675
diff changeset
113 #ifndef MAC_OSX
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
114 char *BC;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
115 char *UP;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
116
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
117 static char tgoto_buf[50];
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
118
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
119 char *
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
120 tgoto (cm, hpos, vpos)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
121 char *cm;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
122 int hpos, vpos;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
123 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
124 int args[2];
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
125 if (!cm)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
126 return NULL;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
127 args[0] = vpos;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
128 args[1] = hpos;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
129 return tparam1 (cm, tgoto_buf, 50, UP, BC, args);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
130 }
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 43675
diff changeset
131 #endif
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
132
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
133 static char *
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
134 tparam1 (string, outstring, len, up, left, argp)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
135 char *string;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
136 char *outstring;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
137 int len;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
138 char *up, *left;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
139 register int *argp;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
140 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
141 register int c;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
142 register char *p = string;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
143 register char *op = outstring;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
144 char *outend;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
145 int outlen = 0;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
146
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
147 register int tem;
53270
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
148 int *old_argp = argp; /* can move */
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
149 int *fixed_argp = argp; /* never moves */
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
150 int explicit_param_p = 0; /* set by %p */
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
151 int doleft = 0;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
152 int doup = 0;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
153
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
154 outend = outstring + len;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
155
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
156 while (1)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
157 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
158 /* If the buffer might be too short, make it bigger. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
159 if (op + 5 >= outend)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
160 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
161 register char *new;
34360
c6d74397e65f (tparam1): Change the way buffers are reallocated to be
Gerd Moellmann <gerd@gnu.org>
parents: 29805
diff changeset
162 int offset = op - outstring;
c6d74397e65f (tparam1): Change the way buffers are reallocated to be
Gerd Moellmann <gerd@gnu.org>
parents: 29805
diff changeset
163
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
164 if (outlen == 0)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
165 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
166 outlen = len + 40;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
167 new = (char *) xmalloc (outlen);
34360
c6d74397e65f (tparam1): Change the way buffers are reallocated to be
Gerd Moellmann <gerd@gnu.org>
parents: 29805
diff changeset
168 bcopy (outstring, new, offset);
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
169 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
170 else
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
171 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
172 outlen *= 2;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
173 new = (char *) xrealloc (outstring, outlen);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
174 }
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 44890
diff changeset
175
34360
c6d74397e65f (tparam1): Change the way buffers are reallocated to be
Gerd Moellmann <gerd@gnu.org>
parents: 29805
diff changeset
176 op = new + offset;
c6d74397e65f (tparam1): Change the way buffers are reallocated to be
Gerd Moellmann <gerd@gnu.org>
parents: 29805
diff changeset
177 outend = new + outlen;
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
178 outstring = new;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
179 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
180 c = *p++;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
181 if (!c)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
182 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
183 if (c == '%')
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
184 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
185 c = *p++;
53270
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
186 if (explicit_param_p)
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
187 explicit_param_p = 0;
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
188 else
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
189 tem = *argp;
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
190 switch (c)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
191 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
192 case 'd': /* %d means output in decimal. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
193 if (tem < 10)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
194 goto onedigit;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
195 if (tem < 100)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
196 goto twodigit;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
197 case '3': /* %3 means output in decimal, 3 digits. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
198 if (tem > 999)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
199 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
200 *op++ = tem / 1000 + '0';
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
201 tem %= 1000;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
202 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
203 *op++ = tem / 100 + '0';
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
204 case '2': /* %2 means output in decimal, 2 digits. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
205 twodigit:
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
206 tem %= 100;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
207 *op++ = tem / 10 + '0';
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
208 onedigit:
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
209 *op++ = tem % 10 + '0';
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
210 argp++;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
211 break;
53270
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
212 case 'p': /* %pN means use param N for next subst. */
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
213 tem = fixed_argp[(*p++) - '1'];
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
214 explicit_param_p = 1;
971b19b300e6 (tparam1): Add handling for `%pN', which
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
215 break;
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
216 case 'C':
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
217 /* For c-100: print quotient of value by 96, if nonzero,
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
218 then do like %+. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
219 if (tem >= 96)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
220 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
221 *op++ = tem / 96;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
222 tem %= 96;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
223 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
224 case '+': /* %+x means add character code of char x. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
225 tem += *p++;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
226 case '.': /* %. means output as character. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
227 if (left)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
228 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
229 /* If want to forbid output of 0 and \n and \t,
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
230 and this is one of them, increment it. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
231 while (tem == 0 || tem == '\n' || tem == '\t')
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
232 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
233 tem++;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
234 if (argp == old_argp)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
235 doup++, outend -= strlen (up);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
236 else
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
237 doleft++, outend -= strlen (left);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
238 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
239 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
240 *op++ = tem ? tem : 0200;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
241 case 'f': /* %f means discard next arg. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
242 argp++;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
243 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
244
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
245 case 'b': /* %b means back up one arg (and re-use it). */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
246 argp--;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
247 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
248
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
249 case 'r': /* %r means interchange following two args. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
250 argp[0] = argp[1];
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
251 argp[1] = tem;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
252 old_argp++;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
253 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
254
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
255 case '>': /* %>xy means if arg is > char code of x, */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
256 if (argp[0] > *p++) /* then add char code of y to the arg, */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
257 argp[0] += *p; /* and in any case don't output. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
258 p++; /* Leave the arg to be output later. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
259 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
260
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
261 case 'a': /* %a means arithmetic. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
262 /* Next character says what operation.
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
263 Add or subtract either a constant or some other arg. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
264 /* First following character is + to add or - to subtract
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
265 or = to assign. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
266 /* Next following char is 'p' and an arg spec
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
267 (0100 plus position of that arg relative to this one)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
268 or 'c' and a constant stored in a character. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
269 tem = p[2] & 0177;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
270 if (p[1] == 'p')
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
271 tem = argp[tem - 0100];
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
272 if (p[0] == '-')
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
273 argp[0] -= tem;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
274 else if (p[0] == '+')
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
275 argp[0] += tem;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
276 else if (p[0] == '*')
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
277 argp[0] *= tem;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
278 else if (p[0] == '/')
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
279 argp[0] /= tem;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
280 else
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
281 argp[0] = tem;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
282
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
283 p += 3;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
284 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
285
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
286 case 'i': /* %i means add one to arg, */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
287 argp[0] ++; /* and leave it to be output later. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
288 argp[1] ++; /* Increment the following arg, too! */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
289 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
290
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
291 case '%': /* %% means output %; no arg. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
292 goto ordinary;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
293
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
294 case 'n': /* %n means xor each of next two args with 140. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
295 argp[0] ^= 0140;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
296 argp[1] ^= 0140;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
297 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
298
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
299 case 'm': /* %m means xor each of next two args with 177. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
300 argp[0] ^= 0177;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
301 argp[1] ^= 0177;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
302 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
303
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
304 case 'B': /* %B means express arg as BCD char code. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
305 argp[0] += 6 * (tem / 10);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
306 break;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
307
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
308 case 'D': /* %D means weird Delta Data transformation. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
309 argp[0] -= 2 * (tem % 16);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
310 break;
28573
cdc89dbad540 (tparam1): Abort when encountering an unknown
Gerd Moellmann <gerd@gnu.org>
parents: 14414
diff changeset
311
cdc89dbad540 (tparam1): Abort when encountering an unknown
Gerd Moellmann <gerd@gnu.org>
parents: 14414
diff changeset
312 default:
cdc89dbad540 (tparam1): Abort when encountering an unknown
Gerd Moellmann <gerd@gnu.org>
parents: 14414
diff changeset
313 abort ();
4687
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
314 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
315 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
316 else
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
317 /* Ordinary character in the argument string. */
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
318 ordinary:
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
319 *op++ = c;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
320 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
321 *op = 0;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
322 while (doup-- > 0)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
323 strcat (op, up);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
324 while (doleft-- > 0)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
325 strcat (op, left);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
326 return outstring;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
327 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
328
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
329 #ifdef DEBUG
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
330
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
331 main (argc, argv)
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
332 int argc;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
333 char **argv;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
334 {
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
335 char buf[50];
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
336 int args[3];
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
337 args[0] = atoi (argv[2]);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
338 args[1] = atoi (argv[3]);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
339 args[2] = atoi (argv[4]);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
340 tparam1 (argv[1], buf, "LEFT", "UP", args);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
341 printf ("%s\n", buf);
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
342 return 0;
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
343 }
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
344
f0abfb1b59fd entered into RCS
Roland McGrath <roland@gnu.org>
parents:
diff changeset
345 #endif /* DEBUG */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
346
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
347 /* arch-tag: 83f7b5ac-a808-4f75-b87a-123de009b402
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
348 (do not change this comment) */