X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Fregxread.c;h=5d9ce2f115acd6fbcfadd60f91cdcc62fb2a3674;hb=d9a9544ebf605f5141ced91c4cf2c2fc97b93539;hp=9f612e58fcb731cbb30826da8201b2153b47e280;hpb=3ecabdd7340cf895d4d446a217b8b69c17a2d781;p=idzebra-moved-to-github.git diff --git a/recctrl/regxread.c b/recctrl/regxread.c index 9f612e5..5d9ce2f 100644 --- a/recctrl/regxread.c +++ b/recctrl/regxread.c @@ -2,7 +2,7 @@ * Copyright (C) 1994-2002, Index Data * All rights reserved. * - * $Id: regxread.c,v 1.40 2002-05-03 13:50:25 adam Exp $ + * $Id: regxread.c,v 1.42 2002-05-07 11:05:20 adam Exp $ */ #include #include @@ -672,7 +672,7 @@ static void execData (struct lexSpec *spec, { org_len = 0; - res = data1_mk_node (spec->dh, spec->m, DATA1N_data, parent); + res = data1_mk_node2 (spec->dh, spec->m, DATA1N_data, parent); res->u.data.what = DATA1I_text; res->u.data.len = 0; res->u.data.formatted_text = formatted_text; @@ -762,7 +762,7 @@ static void variantBegin (struct lexSpec *spec, if (parent->which != DATA1N_variant) { - res = data1_mk_node (spec->dh, spec->m, DATA1N_variant, parent); + res = data1_mk_node2 (spec->dh, spec->m, DATA1N_variant, parent); if (spec->d1_stack[spec->d1_level]) tagDataRelease (spec); spec->d1_stack[spec->d1_level] = res; @@ -779,7 +779,7 @@ static void variantBegin (struct lexSpec *spec, logf (LOG_LOG, "variant node (%d)", spec->d1_level); #endif parent = spec->d1_stack[spec->d1_level-1]; - res = data1_mk_node (spec->dh, spec->m, DATA1N_variant, parent); + res = data1_mk_node2 (spec->dh, spec->m, DATA1N_variant, parent); res->u.variant.type = tp; if (value_len >= DATA1_LOCALDATA) @@ -828,7 +828,7 @@ static void tagBegin (struct lexSpec *spec, parent = spec->d1_stack[spec->d1_level -1]; partag = get_parent_tag(spec->dh, parent); - res = data1_mk_node (spec->dh, spec->m, DATA1N_tag, parent); + res = data1_mk_node2 (spec->dh, spec->m, DATA1N_tag, parent); if (len >= DATA1_LOCALDATA) res->u.tag.tag = (char *) nmem_malloc (spec->m, len+1); @@ -1031,20 +1031,12 @@ static int cmd_tcl_begin (ClientData clientData, Tcl_Interp *interp, if (!strcmp(argv[1], "record") && argc == 3) { char *absynName = argv[2]; - data1_absyn *absyn; data1_node *res; #if REGX_DEBUG logf (LOG_LOG, "begin record %s", absynName); #endif - absyn = data1_get_absyn (spec->dh, absynName); - - res = data1_mk_node (spec->dh, spec->m); - res->which = DATA1N_root; - res->u.root.type = - data1_insert_string(spec->dh, res, spec->m, absynName); - res->u.root.absyn = absyn; - res->root = res; + res = data1_mk_root (spec->dh, spec->m, absynName); spec->d1_stack[spec->d1_level] = res; spec->d1_stack[++(spec->d1_level)] = NULL; @@ -1279,22 +1271,16 @@ static void execCode (struct lexSpec *spec, struct regxCode *code) if (spec->d1_level == 0) { static char absynName[64]; - data1_absyn *absyn; data1_node *res; if (cmd_len > 63) cmd_len = 63; memcpy (absynName, cmd_str, cmd_len); absynName[cmd_len] = '\0'; - #if REGX_DEBUG logf (LOG_LOG, "begin record %s", absynName); #endif - absyn = data1_get_absyn (spec->dh, absynName); - - res = data1_mk_node (spec->dh, spec->m, DATA1N_root, 0); - res->u.root.type = absynName; - res->u.root.absyn = absyn; + res = data1_mk_root (spec->dh, spec->m, absynName); spec->d1_stack[spec->d1_level] = res; spec->d1_stack[++(spec->d1_level)] = NULL;