annotate uip/rmf.c @ 12:441a2190cfae

Lion fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 21 Apr 2012 13:10:49 +0900
parents bce86c4163a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 /* rmf.c - remove a folder */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 #ifndef lint
12
441a2190cfae Lion fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
3 static char ident[] = "@(#)$Id: rmf.c,v 1.1.1.1 2005/04/18 14:46:07 kono Exp $";
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 #endif /* lint */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6 #include "../h/mh.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 #include "../h/local.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 #include <stdio.h>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9 #ifdef LOCALE
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 #include <locale.h>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 static struct swit switches[] = {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16 #define INTRSW 0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 "interactive", 0,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 #define NINTRSW 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 "nointeractive", 0,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 #define HELPSW 2
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 "help", 4,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 NULL, 0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 };
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27 static int rmf();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 static rma();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31 /* ARGSUSED */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33 main (argc, argv)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34 int argc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35 char *argv[];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 int defolder = 0,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38 interactive = -1;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39 char *cp,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40 *folder = NULL,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41 newfolder[BUFSIZ],
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42 buf[100],
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43 **ap,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44 **argp,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45 *arguments[MAXARGS];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47 #ifdef LOCALE
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48 setlocale(LC_ALL, "");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50 #ifdef JAPAN
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 ml_init();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52 #endif /* JAPAN */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 invo_name = r1bindex (argv[0], '/');
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 if ((cp = m_find (invo_name)) != NULL) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55 ap = brkstring (cp = getcpy (cp), " ", "\n");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
56 ap = copyip (ap, arguments);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
57 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
58 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
59 ap = arguments;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
60 (void) copyip (argv + 1, ap);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
61 argp = arguments;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
62
bce86c4163a3 Initial revision
kono
parents:
diff changeset
63 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
64
bce86c4163a3 Initial revision
kono
parents:
diff changeset
65 while (cp = *argp++) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
66 if (*cp == '-')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
67 switch (smatch (++cp, switches)) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
68 case AMBIGSW:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
69 ambigsw (cp, switches);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
70 done (1);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
71 case UNKWNSW:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
72 adios (NULLCP, "-%s unknown", cp);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
73 case HELPSW:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
74 (void) sprintf (buf, "%s [+folder] [switches]", invo_name);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
75 help (buf, switches);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
76 done (1);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
77
bce86c4163a3 Initial revision
kono
parents:
diff changeset
78 case INTRSW:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
79 interactive = 1;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
80 continue;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
81 case NINTRSW:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
82 interactive = 0;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
83 continue;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
84 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
85 if (*cp == '+' || *cp == '@') {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
86 if (folder)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
87 adios (NULLCP, "only one folder at a time!");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
88 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
89 folder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
90 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
91 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
92 adios (NULLCP, "usage: %s [+folder] [switches]", invo_name);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
93 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
94
bce86c4163a3 Initial revision
kono
parents:
diff changeset
95 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
96
bce86c4163a3 Initial revision
kono
parents:
diff changeset
97 if (!m_find ("path"))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
98 free (path ("./", TFOLDER));
bce86c4163a3 Initial revision
kono
parents:
diff changeset
99 if (!folder) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
100 folder = m_getfolder ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
101 defolder++;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
102 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
103 if (strcmp (m_mailpath (folder), pwd ()) == 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
104 adios (NULLCP, "sorry, you can't remove the current working directory");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
105
bce86c4163a3 Initial revision
kono
parents:
diff changeset
106 if (interactive == -1)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
107 interactive = defolder;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
108
bce86c4163a3 Initial revision
kono
parents:
diff changeset
109 if (index (folder, '/') && (*folder != '/') && (*folder != '.')) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
110 for (cp = copy (folder, newfolder); cp > newfolder && *cp != '/'; cp--)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
111 continue;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
112 if (cp > newfolder)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
113 *cp = '\0';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
114 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
115 (void) strcpy (newfolder, (cp = m_find (inbox)) ? cp : defalt);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
116 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
117 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
118 (void) strcpy (newfolder, (cp = m_find (inbox)) ? cp : defalt);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
119
bce86c4163a3 Initial revision
kono
parents:
diff changeset
120 if (interactive) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
121 cp = concat ("Remove folder \"", folder, "\"? ", NULLCP);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
122 if (!getanswer (cp))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
123 done (0);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
124 free (cp);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
125 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
126
bce86c4163a3 Initial revision
kono
parents:
diff changeset
127 if (rmf (folder) == OK && strcmp (m_find (pfolder), newfolder)) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
128 printf ("[+%s now current]\n", newfolder);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
129 m_replace (pfolder, newfolder);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
130 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
131 m_update ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
132
bce86c4163a3 Initial revision
kono
parents:
diff changeset
133 done (0);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
134 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
135
bce86c4163a3 Initial revision
kono
parents:
diff changeset
136 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
137
bce86c4163a3 Initial revision
kono
parents:
diff changeset
138 static int rmf (folder)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
139 register char *folder;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
140 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
141 int i,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
142 j,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
143 others;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
144 register char *maildir;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
145 char cur[BUFSIZ];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
146 #ifdef SYS5DIR
bce86c4163a3 Initial revision
kono
parents:
diff changeset
147 register struct dirent *dp;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
148 #else /* SYS5DIR */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
149 register struct direct *dp;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
150 #endif /* SYS5DIR */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
151 register DIR * dd;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
152
bce86c4163a3 Initial revision
kono
parents:
diff changeset
153 #ifdef COMPAT
bce86c4163a3 Initial revision
kono
parents:
diff changeset
154 (void) m_delete (concat (current, "-", m_mailpath (folder), NULLCP));
bce86c4163a3 Initial revision
kono
parents:
diff changeset
155 #endif /* COMPAT */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
156 switch (i = chdir (maildir = m_maildir (folder))) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
157 case OK:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
158 if (access (".", 2) != NOTOK && access ("..", 2) != NOTOK)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
159 break; /* fall otherwise */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
160
bce86c4163a3 Initial revision
kono
parents:
diff changeset
161 case NOTOK:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
162 (void) sprintf (cur, "atr-%s-%s", current, m_mailpath (folder));
bce86c4163a3 Initial revision
kono
parents:
diff changeset
163 if (!m_delete (cur)) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
164 printf ("[+%s de-referenced]\n", folder);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
165 return OK;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
166 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
167 advise (NULLCP, "you have no profile entry for the %s folder +%s",
bce86c4163a3 Initial revision
kono
parents:
diff changeset
168 i == NOTOK ? "unreadable" : "read-only", folder);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
169 return NOTOK;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
170 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
171
bce86c4163a3 Initial revision
kono
parents:
diff changeset
172 if ((dd = opendir (".")) == NULL)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
173 adios (NULLCP, "unable to read folder +%s", folder);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
174 others = 0;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
175
bce86c4163a3 Initial revision
kono
parents:
diff changeset
176 j = strlen (SBACKUP);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
177 while (dp = readdir (dd)) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
178 switch (dp -> d_name[0]) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
179 case '.':
bce86c4163a3 Initial revision
kono
parents:
diff changeset
180 if (strcmp (dp -> d_name, ".") == 0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
181 || strcmp (dp -> d_name, "..") == 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
182 continue; /* else fall */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
183
bce86c4163a3 Initial revision
kono
parents:
diff changeset
184 case ',':
bce86c4163a3 Initial revision
kono
parents:
diff changeset
185 #ifdef MHE
bce86c4163a3 Initial revision
kono
parents:
diff changeset
186 case '+':
bce86c4163a3 Initial revision
kono
parents:
diff changeset
187 #endif /* MHE */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
188 #ifdef UCI
bce86c4163a3 Initial revision
kono
parents:
diff changeset
189 case '_':
bce86c4163a3 Initial revision
kono
parents:
diff changeset
190 case '#':
bce86c4163a3 Initial revision
kono
parents:
diff changeset
191 #endif /* UCI */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
192 break;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
193
bce86c4163a3 Initial revision
kono
parents:
diff changeset
194 default:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
195 if (m_atoi (dp -> d_name))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
196 break;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
197 #ifdef COMPAT
bce86c4163a3 Initial revision
kono
parents:
diff changeset
198 if (strcmp (dp -> d_name, current) == 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
199 break;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
200 #endif /* COMPAT */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
201 if (strcmp (dp -> d_name, LINK) == 0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
202 || strncmp (dp -> d_name, SBACKUP, j) == 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
203 break;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
204
bce86c4163a3 Initial revision
kono
parents:
diff changeset
205 admonish (NULLCP, "file \"%s/%s\" not deleted",
bce86c4163a3 Initial revision
kono
parents:
diff changeset
206 folder, dp -> d_name);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
207 others++;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
208 continue;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
209 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
210 if (unlink (dp -> d_name) == NOTOK) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
211 admonish (dp -> d_name, "unable to unlink %s:", folder);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
212 others++;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
213 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
214 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
215
bce86c4163a3 Initial revision
kono
parents:
diff changeset
216 closedir (dd);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
217
bce86c4163a3 Initial revision
kono
parents:
diff changeset
218 rma (folder);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
219
bce86c4163a3 Initial revision
kono
parents:
diff changeset
220 (void) chdir ("..");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
221 if (others == 0 && remdir (maildir))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
222 return OK;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
223
bce86c4163a3 Initial revision
kono
parents:
diff changeset
224 advise (NULLCP, "folder +%s not removed", folder);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
225 return NOTOK;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
226 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
227
bce86c4163a3 Initial revision
kono
parents:
diff changeset
228 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
229
bce86c4163a3 Initial revision
kono
parents:
diff changeset
230 static rma (folder)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
231 register char *folder;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
232 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
233 register int alen,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
234 j,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
235 plen;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
236 register char *cp;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
237 register struct node *np,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
238 *pp;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
239
bce86c4163a3 Initial revision
kono
parents:
diff changeset
240 alen = strlen ("atr-");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
241 plen = strlen (cp = m_mailpath (folder)) + 1;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
242
bce86c4163a3 Initial revision
kono
parents:
diff changeset
243 m_getdefs ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
244 for (np = m_defs, pp = NULL; np; np = np -> n_next)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
245 if (ssequal ("atr-", np -> n_name)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
246 && (j = strlen (np -> n_name) - plen) > alen
bce86c4163a3 Initial revision
kono
parents:
diff changeset
247 && *(np -> n_name + j) == '-'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
248 && strcmp (cp, np -> n_name + j + 1) == 0) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
249 if (!np -> n_context)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
250 admonish (NULLCP, "bug: m_delete(key=\"%s\")", np -> n_name);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
251 if (pp) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
252 pp -> n_next = np -> n_next;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
253 np = pp;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
254 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
255 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
256 m_defs = np -> n_next;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
257 ctxflags |= CTXMOD;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
258 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
259 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
260 pp = np;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
261 }