Not 100% sur of implementation. And the feature seems a bit useless..
This commit is contained in:
Yann Weber 2017-05-15 20:03:22 +02:00
commit 3e5304bf91
2 changed files with 52 additions and 8 deletions

View file

@ -316,7 +316,7 @@ running binary search algorithm in '%s'\n", t->logfile_name[*id]);
} }
cmpres=0; cmpres=0;
ret = _ttail_file_cur_cmp(t, *id, in, &cmpres); ret = _ttail_file_cur_cmp(t, *id, in, &cmpres);
if(!ret && !ttail_permissive(t)) if(ret > 0 && !ttail_permissive(t))
{ {
ttail_strict_msg(); ttail_strict_msg();
return -1; return -1;
@ -555,6 +555,11 @@ int _ttail_search_files_fmt_init(ttail_t* t)
{ {
break; break;
} }
if(!ttail_permissive(t))
{
ttail_strict_msg();
break;
}
} }
rewind(t->logfile[i]); rewind(t->logfile[i]);
if(fmt_id >= 0) if(fmt_id >= 0)
@ -615,6 +620,7 @@ inline int _ttail_file_minmax(ttail_t* t, size_t id, struct tm tm[2])
{ {
FILE *fp; FILE *fp;
long cur; long cur;
int ret;
memset(tm, 0, sizeof(struct tm)*2); memset(tm, 0, sizeof(struct tm)*2);
fp = t->logfile[id]; fp = t->logfile[id];
if(!fp) if(!fp)
@ -633,22 +639,23 @@ inline int _ttail_file_minmax(ttail_t* t, size_t id, struct tm tm[2])
{ {
return 1; return 1;
} }
if(!ttail_logline2date(t, ttail_file_getline_buf(t), tm)) if(!(ret = ttail_logline2date(t, ttail_file_getline_buf(t), tm)))
{ {
break; break;
} }
if(!ttail_permissive(t)) if(!ttail_permissive(t))
{ {
if(t->verbose <= 0) fprintf(stderr,
"Unable to find %s in logline",
ret == 1?"prefix":"date");
if(t->verbose > 0)
{ {
fprintf(stderr, fprintf(stderr, " : '%s'\n",
"Unable to find a date in logline\n"); ttail_file_getline_buf(t));
} }
else else
{ {
fprintf(stderr, fprintf(stderr,"\n");
"Unable to find a date in '%s'\n",
ttail_file_getline_buf(t));
} }
ttail_strict_msg(); ttail_strict_msg();
return -1; return -1;
@ -865,6 +872,22 @@ inline off_t _ttail_file_search_from_end(ttail_t* t , size_t id ,
{ {
break; break;
} }
else if(ret > 0 && !ttail_permissive(t))
{
fprintf(stderr, "Unable to find the %s in logline",
ret==1?"prefix":"date");
if(t->verbose > 0)
{
fprintf(stderr, " : '%s'\n",
ttail_file_getline_buf(t));
}
else
{
fprintf(stderr, "\n");
}
ttail_strict_msg();
break;
}
cmpret = ttail_tm_cmp(&curtm, tm); cmpret = ttail_tm_cmp(&curtm, tm);
if(!ret) if(!ret)
{ {

View file

@ -63,6 +63,11 @@ int _ttail_search_std_fmt_init(ttail_t* t)
{ {
break; break;
} }
if(!ttail_permissive(t))
{
ttail_strict_msg();
break;
}
} }
if(fmt_id < 0) if(fmt_id < 0)
{ {
@ -115,6 +120,22 @@ int _ttail_search_closest_stdin(ttail_t* t)
} }
else if(ret > 0) else if(ret > 0)
{ {
if(!ttail_permissive(t))
{
fprintf(stderr,
"Unable to find the %s in logline",
ret==1?"prefix":"date");
if(t->verbose > 0)
{
fprintf(stderr, " : '%s'\n",
ttail_file_getline_buf(t));
}
else
{
fprintf(stderr, "\n");
}
ttail_strict_msg();
}
continue; continue;
} }
ret = ttail_tm_cmp(&tm, &(t->date_min)); ret = ttail_tm_cmp(&tm, &(t->date_min));