Browse Source

Fix #11

Not 100% sur of implementation. And the feature seems a bit useless..
Yann Weber 7 years ago
parent
commit
3e5304bf91
2 changed files with 52 additions and 8 deletions
  1. 31
    8
      src/ttail_search_files.c
  2. 21
    0
      src/ttail_search_std.c

+ 31
- 8
src/ttail_search_files.c View File

316
 				}
316
 				}
317
 				cmpres=0;
317
 				cmpres=0;
318
 				ret = _ttail_file_cur_cmp(t, *id, in, &cmpres);
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
 					ttail_strict_msg();
321
 					ttail_strict_msg();
322
 					return -1;
322
 					return -1;
555
 			{
555
 			{
556
 				break;
556
 				break;
557
 			}
557
 			}
558
+			if(!ttail_permissive(t))
559
+			{
560
+				ttail_strict_msg();
561
+				break;
562
+			}
558
 		}
563
 		}
559
 		rewind(t->logfile[i]);
564
 		rewind(t->logfile[i]);
560
 		if(fmt_id >= 0)
565
 		if(fmt_id >= 0)
615
 {
620
 {
616
 	FILE *fp;
621
 	FILE *fp;
617
 	long cur;
622
 	long cur;
623
+	int ret;
618
 	memset(tm, 0, sizeof(struct tm)*2);
624
 	memset(tm, 0, sizeof(struct tm)*2);
619
 	fp = t->logfile[id];
625
 	fp = t->logfile[id];
620
 	if(!fp)
626
 	if(!fp)
633
 		{
639
 		{
634
 			return 1;
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
 			break;
644
 			break;
639
 		}
645
 		}
640
 		if(!ttail_permissive(t))
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
 			else
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
 			ttail_strict_msg();
660
 			ttail_strict_msg();
654
 			return -1;
661
 			return -1;
865
 		{
872
 		{
866
 			break;
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
 		cmpret = ttail_tm_cmp(&curtm, tm);
891
 		cmpret = ttail_tm_cmp(&curtm, tm);
869
 		if(!ret)
892
 		if(!ret)
870
 		{
893
 		{

+ 21
- 0
src/ttail_search_std.c View File

63
 		{
63
 		{
64
 			break;
64
 			break;
65
 		}
65
 		}
66
+		if(!ttail_permissive(t))
67
+		{
68
+			ttail_strict_msg();
69
+			break;
70
+		}
66
 	}
71
 	}
67
 	if(fmt_id < 0)
72
 	if(fmt_id < 0)
68
 	{
73
 	{
115
 		}
120
 		}
116
 		else if(ret > 0)
121
 		else if(ret > 0)
117
 		{
122
 		{
123
+			if(!ttail_permissive(t))
124
+			{
125
+				fprintf(stderr,
126
+					"Unable to find the %s in logline",
127
+					ret==1?"prefix":"date");
128
+				if(t->verbose > 0)
129
+				{
130
+					fprintf(stderr, " : '%s'\n",
131
+						ttail_file_getline_buf(t));
132
+				}
133
+				else
134
+				{
135
+					fprintf(stderr, "\n");
136
+				}
137
+				ttail_strict_msg();
138
+			}
118
 			continue;
139
 			continue;
119
 		}
140
 		}
120
 		ret = ttail_tm_cmp(&tm, &(t->date_min));
141
 		ret = ttail_tm_cmp(&tm, &(t->date_min));

Loading…
Cancel
Save