@@ -544,8 +544,9 @@ AFFIX * copyAffix(AFFIX * affix) {
544
544
545
545
if (copy -> isregis ) {
546
546
copy -> reg .regis .node = copyRegisNode (copy -> reg .regis .node );
547
- }else {
547
+ }else if (! copy -> issimple ) {
548
548
// FIXME handle the regex_t properly (copy the strings etc)
549
+ elog (WARNING ,"skipping regex_t" );
549
550
}
550
551
551
552
return copy ;
@@ -563,14 +564,13 @@ AffixNode * copyAffixNode(AffixNode * node) {
563
564
}
564
565
565
566
copy = (AffixNode * )shalloc (offsetof(AffixNode ,data )+ sizeof (AffixNodeData )* node -> length );
566
- copy -> isvoid = node -> isvoid ;
567
- copy -> length = node -> length ;
568
567
memcpy (copy ,node , offsetof(SPNode ,data )+ sizeof (SPNodeData )* node -> length );
569
568
570
569
for (i = 0 ;i < node -> length ;i ++ ) {
571
570
572
571
copy -> data [i ].node = copyAffixNode (node -> data [i ].node );
573
572
573
+ copy -> data [i ].val = node -> data [i ].val ;
574
574
copy -> data [i ].naff = node -> data [i ].naff ;
575
575
copy -> data [i ].aff = (AFFIX * * )shalloc (sizeof (AFFIX * )* node -> data [i ].naff );
576
576
memset (copy -> data [i ].aff ,0 ,sizeof (AFFIX * )* node -> data [i ].naff );