|
@@ -316,7 +316,7 @@ running binary search algorithm in '%s'\n", t->logfile_name[*id]);
|
316
|
316
|
}
|
317
|
317
|
cmpres=0;
|
318
|
318
|
ret = _ttail_file_cur_cmp(t, *id, in, &cmpres);
|
319
|
|
- if(!ret && !ttail_permissive(t))
|
|
319
|
+ if(ret > 0 && !ttail_permissive(t))
|
320
|
320
|
{
|
321
|
321
|
ttail_strict_msg();
|
322
|
322
|
return -1;
|
|
@@ -555,6 +555,11 @@ int _ttail_search_files_fmt_init(ttail_t* t)
|
555
|
555
|
{
|
556
|
556
|
break;
|
557
|
557
|
}
|
|
558
|
+ if(!ttail_permissive(t))
|
|
559
|
+ {
|
|
560
|
+ ttail_strict_msg();
|
|
561
|
+ break;
|
|
562
|
+ }
|
558
|
563
|
}
|
559
|
564
|
rewind(t->logfile[i]);
|
560
|
565
|
if(fmt_id >= 0)
|
|
@@ -615,6 +620,7 @@ inline int _ttail_file_minmax(ttail_t* t, size_t id, struct tm tm[2])
|
615
|
620
|
{
|
616
|
621
|
FILE *fp;
|
617
|
622
|
long cur;
|
|
623
|
+ int ret;
|
618
|
624
|
memset(tm, 0, sizeof(struct tm)*2);
|
619
|
625
|
fp = t->logfile[id];
|
620
|
626
|
if(!fp)
|
|
@@ -633,22 +639,23 @@ inline int _ttail_file_minmax(ttail_t* t, size_t id, struct tm tm[2])
|
633
|
639
|
{
|
634
|
640
|
return 1;
|
635
|
641
|
}
|
636
|
|
- if(!ttail_logline2date(t, ttail_file_getline_buf(t), tm))
|
|
642
|
+ if(!(ret = ttail_logline2date(t, ttail_file_getline_buf(t), tm)))
|
637
|
643
|
{
|
638
|
644
|
break;
|
639
|
645
|
}
|
640
|
646
|
if(!ttail_permissive(t))
|
641
|
647
|
{
|
642
|
|
- if(t->verbose <= 0)
|
|
648
|
+ fprintf(stderr,
|
|
649
|
+ "Unable to find %s in logline",
|
|
650
|
+ ret == 1?"prefix":"date");
|
|
651
|
+ if(t->verbose > 0)
|
643
|
652
|
{
|
644
|
|
- fprintf(stderr,
|
645
|
|
- "Unable to find a date in logline\n");
|
|
653
|
+ fprintf(stderr, " : '%s'\n",
|
|
654
|
+ ttail_file_getline_buf(t));
|
646
|
655
|
}
|
647
|
656
|
else
|
648
|
657
|
{
|
649
|
|
- fprintf(stderr,
|
650
|
|
- "Unable to find a date in '%s'\n",
|
651
|
|
- ttail_file_getline_buf(t));
|
|
658
|
+ fprintf(stderr,"\n");
|
652
|
659
|
}
|
653
|
660
|
ttail_strict_msg();
|
654
|
661
|
return -1;
|
|
@@ -865,6 +872,22 @@ inline off_t _ttail_file_search_from_end(ttail_t* t , size_t id ,
|
865
|
872
|
{
|
866
|
873
|
break;
|
867
|
874
|
}
|
|
875
|
+ else if(ret > 0 && !ttail_permissive(t))
|
|
876
|
+ {
|
|
877
|
+ fprintf(stderr, "Unable to find the %s in logline",
|
|
878
|
+ ret==1?"prefix":"date");
|
|
879
|
+ if(t->verbose > 0)
|
|
880
|
+ {
|
|
881
|
+ fprintf(stderr, " : '%s'\n",
|
|
882
|
+ ttail_file_getline_buf(t));
|
|
883
|
+ }
|
|
884
|
+ else
|
|
885
|
+ {
|
|
886
|
+ fprintf(stderr, "\n");
|
|
887
|
+ }
|
|
888
|
+ ttail_strict_msg();
|
|
889
|
+ break;
|
|
890
|
+ }
|
868
|
891
|
cmpret = ttail_tm_cmp(&curtm, tm);
|
869
|
892
|
if(!ret)
|
870
|
893
|
{
|