aboutsummaryrefslogtreecommitdiffstats
path: root/field.c
diff options
context:
space:
mode:
Diffstat (limited to 'field.c')
-rw-r--r--field.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/field.c b/field.c
index 0e84447a..c21046b9 100644
--- a/field.c
+++ b/field.c
@@ -90,6 +90,8 @@ Regexp *FPAT_re_no_case = NULL;
Regexp *FPAT_regexp = NULL;
NODE *Null_field = NULL;
+#define clear_mpfr(n) ((n)->flags &= ~(MPFN | MPZN | NUMCUR))
+
/* init_fields --- set up the fields array to start with */
void
@@ -230,6 +232,7 @@ rebuild_record()
}
n->stptr = cops;
+ clear_mpfr(n);
unref(r);
fields_arr[i] = n;
assert((n->flags & WSTRCUR) == 0);
@@ -347,6 +350,11 @@ reset_record()
}
}
+/*
+ * purge_record --- throw away the fields, make sure that
+ * individual nodes remain valid.
+ */
+
static void
purge_record()
{