]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
Consistency checks -- mm
authormuench <muench>
Mon, 10 Mar 2003 13:22:26 +0000 (13:22 +0000)
committermuench <muench>
Mon, 10 Mar 2003 13:22:26 +0000 (13:22 +0000)
hadaq/indent.pro
hadaq/showevt.c

index 56d90e0d8a38e924fbca2de656e1a9b1cc57d575..c25667fc93a245b5eeda99b6a80130c87668a714 100644 (file)
 -T Tcl_VarTraceProc
 -T Tcl_WaitForEventProc
 -T TheArgs
+-T OurArgs
 -T TheStats
 -T ThrArgs
 -T Time
index fe5c519ac4941357b90467d0ad6f413253b0c23b..aa4d67bcce63c5418208c1ad5058be4bbe87a7b5 100644 (file)
@@ -1,4 +1,4 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/showevt.c,v 6.9 2003-03-02 16:25:00 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/showevt.c,v 6.10 2003-03-10 13:22:26 muench Exp $";
 
 
 #define _ANSI_C_SOURCE
@@ -6,16 +6,32 @@ static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hada
 
 #include <stdio.h>
 #include <string.h>
-#include <syslog.h>
 
 #include <stdint.h>
 
 
 #include "hldread.h"
 
+typedef struct OurArgsS {
+       int noPrint;
+       int debug;
+} OurArgs;
+static OurArgs ourArgsS = { 0 }, *ourArgs = &ourArgsS;
+
 int startAnalysis(int argc, char **argv)
 {
-       syslog(LOG_DEBUG, "startAnalysis called\n");
+       int i;
+       for (i = 0; i < argc; i++) {
+               if (strcmp(argv[i], "noprint") == 0) {
+                       ourArgs->noPrint = 1;
+               }
+               if (strcmp(argv[i], "debug") == 0) {
+                       ourArgs->debug = 1;
+               }
+       }
+       if (ourArgs->debug) {
+               fprintf(stderr, "startAnalysis called\n");
+       }
        return 0;
 }
 
@@ -24,60 +40,84 @@ int analyseEvt(void *evt)
        int i;
        void *subEvt;
 
-       syslog(LOG_DEBUG, "analyseEvt called\n");
+       if (ourArgs->debug) {
+               fprintf(stderr, "analyseEvt called\n");
+       }
 
-       /* print the event header */
-       printf(
-                         "size: 0x%08x  decoding: 0x%08x  id:    0x%08x  seqNr:  0x%08x\n"
-                         "date: %s  time:     %s    runNr: 0x%08x  expId:  %s\n",
-                         Evt_size(evt), Evt_decoding(evt), Evt_id(evt), Evt_seqNr(evt),
-                         Evt_date2charP(evt), Evt_time2charP(evt), Evt_runNr(evt),
-                         Evt_expId2charP(evt)
-               );
+       if (!ourArgs->noPrint) {
+               /* print the event header */
+               printf("size: 0x%08x  decoding: 0x%08x  id:    0x%08x  seqNr:  0x%08x\n"
+                          "date: %s  time:     %s    runNr: 0x%08x  expId:  %s\n",
+                          Evt_size(evt), Evt_decoding(evt), Evt_id(evt), Evt_seqNr(evt),
+                          Evt_date2charP(evt), Evt_time2charP(evt), Evt_runNr(evt), Evt_expId2charP(evt)
+                       );
+       }
+       if (Evt_size(evt) < Evt_hdrSize()) {
+               fprintf(stderr, "   evt: %s\n", Evt_2charP(evt));
+               fprintf(stderr, "Evt_size(evt) < Evt_hdrSize(), abort\n");
+               abort();
+       }
 
        i = 0;
        /* loop over all subevents */
        for (subEvt = Evt_data(evt); subEvt < Evt_end(evt); subEvt = Evt_next(evt, subEvt)) {
-               printf("size: 0x%08x  decoding: 0x%08x  id:    0x%08x  trigNr: 0x%08x\n",
-                          SubEvt_size(subEvt), SubEvt_decoding(subEvt), SubEvt_id(subEvt), SubEvt_trigNr(subEvt));
-               if (SubEvt_decoding(subEvt) == SubEvtDecoding_32bitData) {
-                       for (i = 0; i < SubEvt_dataSize(subEvt) / sizeof(uint32_t); i++) {
-                               if (i % 4 == 0) {       /* newline and the offset in the subEvt */
-                                       printf("\n%08x:", i * sizeof(uint32_t));
+               if (!ourArgs->noPrint) {
+                       printf("size: 0x%08x  decoding: 0x%08x  id:    0x%08x  trigNr: 0x%08x\n",
+                                  SubEvt_size(subEvt), SubEvt_decoding(subEvt), SubEvt_id(subEvt), SubEvt_trigNr(subEvt));
+                       if (SubEvt_decoding(subEvt) == SubEvtDecoding_32bitData) {
+                               for (i = 0; i < SubEvt_dataSize(subEvt) / sizeof(uint32_t); i++) {
+                                       if (i % 4 == 0) {       /* newline and the offset in the subEvt */
+                                               printf("\n%08x:", i * sizeof(uint32_t));
+                                       }
+                                       printf("  0x%08x", SubEvt_dataValue(subEvt, i));
                                }
-                               printf("  0x%08x", SubEvt_dataValue(subEvt, i));
-                       }
-               } else if (SubEvt_decoding(subEvt) == SubEvtDecoding_16bitData) {
-                       for (i = 0; i < SubEvt_dataSize(subEvt) / sizeof(uint16_t); i++) {
-                               if (i % 8 == 0) {       /* newline and the offset in the subEvt */
-                                       printf("\n%08x:", i * sizeof(uint16_t));
+                       } else if (SubEvt_decoding(subEvt) == SubEvtDecoding_16bitData) {
+                               for (i = 0; i < SubEvt_dataSize(subEvt) / sizeof(uint16_t); i++) {
+                                       if (i % 8 == 0) {       /* newline and the offset in the subEvt */
+                                               printf("\n%08x:", i * sizeof(uint16_t));
+                                       }
+                                       printf("  0x%04x", SubEvt_dataValue(subEvt, i));
                                }
-                               printf("  0x%04x", SubEvt_dataValue(subEvt, i));
-                       }
-               } else if (SubEvt_decoding(subEvt) == SubEvtDecoding_8bitData) {
-                       for (i = 0; i < SubEvt_dataSize(subEvt) / sizeof(uint8_t); i++) {
-                               if (i % 16 == 0) {      /* newline and the offset in the subEvt */
-                                       printf("\n%08x:", i);
+                       } else if (SubEvt_decoding(subEvt) == SubEvtDecoding_8bitData) {
+                               for (i = 0; i < SubEvt_dataSize(subEvt) / sizeof(uint8_t); i++) {
+                                       if (i % 16 == 0) {      /* newline and the offset in the subEvt */
+                                               printf("\n%08x:", i);
+                                       }
+                                       printf("  0x%02x", SubEvt_dataValue(subEvt, i));
                                }
-                               printf("  0x%02x", SubEvt_dataValue(subEvt, i));
-                       }
-               } else if (SubEvt_decoding(subEvt) == SubEvtDecoding_text) {
-                       char *data;
+                       } else if (SubEvt_decoding(subEvt) == SubEvtDecoding_text) {
+                               char *data;
 
-                       printf("%c", '\n');
-                       data = (char *) SubEvt_data(subEvt);
-                       for (i = 0; i < SubEvt_dataSize(subEvt); i++) {
-                               printf("%c", data[i]);
+                               printf("%c", '\n');
+                               data = (char *) SubEvt_data(subEvt);
+                               for (i = 0; i < SubEvt_dataSize(subEvt); i++) {
+                                       printf("%c", data[i]);
+                               }
                        }
+                       printf("%c", '\n');
+               }
+               if (SubEvt_size(subEvt) < SubEvt_hdrSize()) {
+                       fprintf(stderr, "   evt: %s\n", Evt_2charP(evt));
+                       fprintf(stderr, "subEvt: %s\n", SubEvt_2charP(subEvt));
+                       fprintf(stderr, "SubEvt_size(subEvt) < SubEvt_hdrSize(), skip rest of event\n");
+                       break;
+               } else if (SubEvt_size(subEvt) > Evt_size(evt) - Evt_hdrSize()) {
+                       fprintf(stderr, "   evt: %s\n", Evt_2charP(evt));
+                       fprintf(stderr, "subEvt: %s\n", SubEvt_2charP(subEvt));
+                       fprintf(stderr, "SubEvt_size(subEvt) < Evt_size(evt) - Evt_hdrSize(), skip rest of event\n");
+                       break;
                }
+       }
+       if (!ourArgs->noPrint) {
                printf("%c", '\n');
        }
-       printf("%c", '\n');
        return 0;
 }
 
 int stopAnalysis(void)
 {
-       syslog(LOG_DEBUG, "stopAnalysis called\n");
+       if (ourArgs->debug) {
+               fprintf(stderr, "stopAnalysis called\n");
+       }
        return 0;
 }