+void data1_chop_text(data1_handle dh, NMEM m, data1_node *n)
+{
+ for (; n; n = n->next)
+ {
+ if (n->which == DATA1N_data)
+ {
+
+ int sz = n->u.data.len;
+ const char *ndata = n->u.data.data;
+ int off = 0;
+
+ for (off = 0; off < sz; off++)
+ if (!d1_isspace(ndata[off]))
+ break;
+ sz = sz - off;
+ ndata += off;
+
+ while (sz && d1_isspace(ndata[sz - 1]))
+ sz--;
+
+ n->u.data.data = nmem_malloc(m, sz);
+ n->u.data.len = sz;
+ memcpy(n->u.data.data, ndata, sz);
+
+ }
+ data1_chop_text(dh, m, n->child);
+ }
+}
+