struct r { int d1, d2; }; struct km { int d; }; struct f1 { char *fn; char *fd; char *fs; char *ic; void (*ff) (); }; int g (); int y; struct r *bs; int bv; void b (); char *w (); struct km **q; char **mns; int nm; struct f1 **z; f (char *km, char *h) { struct f1 *t; int map = midn(km, strlen(km)); int V; int c; struct r r; struct f1 *cm; if (!g(&V, &cm, h, strlen(h))) { c = (cm - z[V]); goto L; } for (c = 0; c < nm; c++) if (!strcmp (h, mns[c])) { V = -1; goto L; } for (c = 0; c < y; c++) { if (!memcmp (&bs[c], &r, 8)) goto L; } h = w (&r); if (!bv) { bs = g (8); t = (struct f1 *)g (20); } else { bs = g (bs, y * 8); z[bv] = cr (z[bv], (1 + y) * 20); t = &z[bv][y - 1]; } bs[y - 1] = r; t->fs[0] = sp (y - 1); t->fs[1] = 0; t->ic = 0; t->fd = 0; t->fn = cs (h); t->ff = b; L: g (q[map], V, c); }