]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
allows assembly of sub events and one level sub-sub events
authormuench <muench>
Tue, 18 Apr 2000 07:26:55 +0000 (07:26 +0000)
committermuench <muench>
Tue, 18 Apr 2000 07:26:55 +0000 (07:26 +0000)
hadaq/evt.c

index ab7468f6d39816fedd0265f9929c4b955e0ff4bc..2be94d27c65ad9d1fda8379fd2715d47ccd4ff31 100644 (file)
@@ -1,4 +1,4 @@
-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>
@@ -188,8 +188,13 @@ int Evt_write(void *my, FILE * file)
 
 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;
 }