annotate 3rdparty/packages/uemacs/uebuffer1.c @ 2852:f2e92661b4c6 lwtools-port

Makefiles: Always use macro for lwar and rm The LWAR macro is new, rm was still used in one place.
author Tormod Volden <debian.tormod@gmail.com>
date Fri, 12 Jul 2013 22:41:18 +0200
parents 48c646212b1c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
995
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
1 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
2 * Buffer management.
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
3 * Some of the functions are internal,
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
4 * and some are actually attached to user
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
5 * keys. Like everyone else, they set hints
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
6 * for the display system.
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
7 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
8 #include <stdio.h>
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
9 #include "ueed.h"
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
10
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
11 #ifndef OS9
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
12 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
13 * Attach a buffer to a window. The
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
14 * values of dot and mark come from the buffer
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
15 * if the use count is 0. Otherwise, they come
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
16 * from some other window.
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
17 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
18 usebuffer(f, n)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
19 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
20 register BUFFER *bp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
21 register WINDOW *wp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
22 register int s;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
23 char bufn[NBUFN];
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
24
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
25 if ((s=mlreply("Use buffer: ", bufn, NBUFN)) != TRUE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
26 return (s);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
27 if ((bp=bfind(bufn, TRUE, 0)) == NULL)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
28 return (FALSE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
29 if (--curbp->b_nwnd == 0) { /* Last use. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
30 curbp->b_dotp = curwp->w_dotp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
31 curbp->b_doto = curwp->w_doto;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
32 curbp->b_markp = curwp->w_markp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
33 curbp->b_marko = curwp->w_marko;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
34 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
35 curbp = bp; /* Switch. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
36 curwp->w_bufp = bp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
37 curwp->w_linep = bp->b_linep; /* For macros, ignored. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
38 curwp->w_flag |= WFMODE|WFFORCE|WFHARD; /* Quite nasty. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
39 if (bp->b_nwnd++ == 0) { /* First use. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
40 curwp->w_dotp = bp->b_dotp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
41 curwp->w_doto = bp->b_doto;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
42 curwp->w_markp = bp->b_markp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
43 curwp->w_marko = bp->b_marko;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
44 return (TRUE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
45 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
46 wp = wheadp; /* Look for old. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
47 while (wp != NULL) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
48 if (wp!=curwp && wp->w_bufp==bp) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
49 curwp->w_dotp = wp->w_dotp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
50 curwp->w_doto = wp->w_doto;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
51 curwp->w_markp = wp->w_markp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
52 curwp->w_marko = wp->w_marko;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
53 break;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
54 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
55 wp = wp->w_wndp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
56 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
57 return (TRUE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
58 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
59
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
60 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
61 * Dispose of a buffer, by name.
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
62 * Ask for the name. Look it up (don't get too
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
63 * upset if it isn't there at all!). Get quite upset
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
64 * if the buffer is being displayed. Clear the buffer (ask
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
65 * if the buffer has been changed). Then free the header
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
66 * line and the buffer header. Bound to "C-X K".
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
67 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
68 killbuffer(f, n)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
69 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
70 register BUFFER *bp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
71 register BUFFER *bp1;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
72 register BUFFER *bp2;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
73 register int s;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
74 char bufn[NBUFN];
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
75
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
76 if ((s=mlreply("Kill buffer: ", bufn, NBUFN)) != TRUE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
77 return (s);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
78 if ((bp=bfind(bufn, FALSE, 0)) == NULL) /* Easy if unknown. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
79 return (TRUE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
80 if (bp->b_nwnd != 0) { /* Error if on screen. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
81 mlwrite("Buffer is being displayed");
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
82 return (FALSE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
83 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
84 if ((s=bclear(bp)) != TRUE) /* Blow text away. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
85 return (s);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
86 free((char *) bp->b_linep); /* Release header line. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
87 bp1 = NULL; /* Find the header. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
88 bp2 = bheadp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
89 while (bp2 != bp) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
90 bp1 = bp2;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
91 bp2 = bp2->b_bufp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
92 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
93 bp2 = bp2->b_bufp; /* Next one in chain. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
94 if (bp1 == NULL) /* Unlink it. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
95 bheadp = bp2;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
96 else
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
97 bp1->b_bufp = bp2;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
98 free((char *) bp); /* Release buffer block */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
99 return (TRUE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
100 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
101
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
102 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
103 * List all of the active
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
104 * buffers. First update the special
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
105 * buffer that holds the list. Next make
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
106 * sure at least 1 window is displaying the
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
107 * buffer list, splitting the screen if this
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
108 * is what it takes. Lastly, repaint all of
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
109 * the windows that are displaying the
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
110 * list. Bound to "C-X C-B".
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
111 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
112 listbuffers(f, n)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
113 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
114 register WINDOW *wp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
115 register BUFFER *bp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
116 register int s;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
117
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
118 if ((s=makelist()) != TRUE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
119 return (s);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
120 if (blistp->b_nwnd == 0) { /* Not on screen yet. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
121 if ((wp=wpopup()) == NULL)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
122 return (FALSE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
123 bp = wp->w_bufp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
124 if (--bp->b_nwnd == 0) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
125 bp->b_dotp = wp->w_dotp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
126 bp->b_doto = wp->w_doto;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
127 bp->b_markp = wp->w_markp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
128 bp->b_marko = wp->w_marko;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
129 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
130 wp->w_bufp = blistp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
131 ++blistp->b_nwnd;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
132 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
133 wp = wheadp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
134 while (wp != NULL) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
135 if (wp->w_bufp == blistp) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
136 wp->w_linep = lforw(blistp->b_linep);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
137 wp->w_dotp = lforw(blistp->b_linep);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
138 wp->w_doto = 0;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
139 wp->w_markp = NULL;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
140 wp->w_marko = 0;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
141 wp->w_flag |= WFMODE|WFHARD;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
142 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
143 wp = wp->w_wndp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
144 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
145 return (TRUE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
146 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
147
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
148 /*
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
149 * This routine rebuilds the
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
150 * text in the special secret buffer
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
151 * that holds the buffer list. It is called
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
152 * by the list buffers command. Return TRUE
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
153 * if everything works. Return FALSE if there
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
154 * is an error (if there is no memory).
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
155 */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
156 makelist()
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
157 {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
158 register char *cp1;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
159 register char *cp2;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
160 register int c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
161 register BUFFER *bp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
162 register LINE *lp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
163 register int nbytes;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
164 register int s;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
165 register int type;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
166 char b[6+1];
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
167 char line[128];
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
168
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
169 blistp->b_flag &= ~BFCHG; /* Don't complain! */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
170 if ((s=bclear(blistp)) != TRUE) /* Blow old text away */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
171 return (s);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
172 strcpy(blistp->b_fname, "");
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
173 if (addline("C Size Buffer File") == FALSE
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
174 || addline("- ---- ------ ----") == FALSE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
175 return (FALSE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
176 bp = bheadp; /* For all buffers */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
177 while (bp != NULL) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
178 if ((bp->b_flag&BFTEMP) != 0) { /* Skip magic ones. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
179 bp = bp->b_bufp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
180 continue;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
181 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
182 cp1 = &line[0]; /* Start at left edge */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
183 if ((bp->b_flag&BFCHG) != 0) /* "*" if changed */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
184 *cp1++ = '*';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
185 else
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
186 *cp1++ = ' ';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
187 *cp1++ = ' '; /* Gap. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
188 nbytes = 0; /* Count bytes in buf. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
189 lp = lforw(bp->b_linep);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
190 while (lp != bp->b_linep) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
191 nbytes += llength(lp)+1;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
192 lp = lforw(lp);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
193 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
194 itoa(b, 6, nbytes); /* 6 digit buffer size. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
195 cp2 = &b[0];
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
196 while ((c = *cp2++) != 0)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
197 *cp1++ = c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
198 *cp1++ = ' '; /* Gap. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
199 cp2 = &bp->b_bname[0]; /* Buffer name */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
200 while ((c = *cp2++) != 0)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
201 *cp1++ = c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
202 cp2 = &bp->b_fname[0]; /* File name */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
203 if (*cp2 != 0) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
204 while (cp1 < &line[1+1+6+1+NBUFN+1])
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
205 *cp1++ = ' ';
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
206 while ((c = *cp2++) != 0) {
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
207 if (cp1 < &line[128-1])
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
208 *cp1++ = c;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
209 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
210 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
211 *cp1 = 0; /* Add to the buffer. */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
212 if (addline(line) == FALSE)
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
213 return (FALSE);
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
214 bp = bp->b_bufp;
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
215 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
216 return (TRUE); /* All done */
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
217 }
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
218 #endif
48c646212b1c 'microEMACS' for OS-9.
roug
parents:
diff changeset
219