static int ValidTS(const char *str)/*is timestamp of event valid*/ { if(True==IsSecond(str))return True; if(True==IsTime(str))return True; if(True==IsDateTime(str))return True; return False; }
static int FormatMatch(const char *str,int format)/*does format of timestamp match format*/ { switch(format) { case TSF_Undefined:return False; case TSF_Seconds:if(False==IsSecond(str))return False;else return True; case TSF_Time:if(False==IsTime(str))return False;else return True; case TSF_DateTime:if(False==IsDateTime(str))return False; else return True; default:return False; } }
/* formats: DateTime: yyyy/Mon/dd hh:mm:ss.us Time: hh:mm:ss.us Second: s.us */ static enum TimeStampFormats GetTimeStampFormat(const char *filename) { /*get timestamp format used in file*/ enum TimeStampFormats ret_val = TSF_Undefined; char str[MAXTIMESTAMPLENGTH + 1]; FILE *fp = fopen(filename, FOPEN_READ); if (fp == NULL) { fprintf(stderr, "%s: warning: cannot open %s: %s\n", progname, filename, strerror(errno)); return TSF_Undefined; } if (fgets(str, sizeof(str), fp) != NULL) { if (IsSecond(str)) ret_val = TSF_Seconds; else if (IsTime(str)) ret_val = TSF_Time; else if (IsDateTime(str)) ret_val = TSF_DateTime; } fclose(fp); return ret_val; }