-static char rcsId[] = "$Id: evt.c,v 6.3 1999-09-12 10:43:34 hades Stab $";
+static char rcsId[] = "$Id: evt.c,v 6.4 2000-04-18 07:26:55 muench Stab $";
 
 #define _ANSI_C_SOURCE
 #include <stddef.h>
 
 void *Evt_appendSubEvt(void *my, void *subEvt)
 {
-       memcpy(Evt_end(my), subEvt, SubEvt_size(subEvt));
-       Evt_setSize(my, Evt_paddedSize(my) + SubEvt_size(subEvt));
+       if (SubEvt_decoding(subEvt) == SubEvtDecoding_SubEvts) {
+               memcpy(Evt_end(my), SubEvt_data(subEvt), SubEvt_dataSize(subEvt));
+               Evt_setSize(my, Evt_paddedSize(my) + SubEvt_dataSize(subEvt));
+       } else {
+               memcpy(Evt_end(my), subEvt, SubEvt_size(subEvt));
+               Evt_setSize(my, Evt_paddedSize(my) + SubEvt_size(subEvt));
+       }
 
        return my;
 }