annotate sbr/m_delete.c @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 /* m_delete.c - delete an entry from the profile */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2
bce86c4163a3 Initial revision
kono
parents:
diff changeset
3 #include "../h/mh.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 #include <stdio.h>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 m_delete (key)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 register char *key;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 register struct node *np,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11 *pp;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 m_getdefs ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14 for (np = m_defs, pp = NULL; np; pp = np, np = np -> n_next) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 if (uleq (np -> n_name, key)) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16 if (!np -> n_context)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 admonish (NULLCP, "bug: m_delete(key=\"%s\")", np -> n_name);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 if (pp)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 pp -> n_next = np -> n_next;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 m_defs = np -> n_next;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 free (np -> n_name);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23 if (np -> n_field)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 free (np -> n_field);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 free ((char *) np);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 ctxflags |= CTXMOD;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27 return 0;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31 return 1;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 }