* \param User The user name.
* \param Agent The user agent string.
*/
-void UserAgent_Write(FILE *fp,const char *Ip,const char *User,const char *Agent)
+void UserAgent_Write(FILE *fp,const struct tm *Time,const char *Ip,const char *User,const char *Agent)
{
if (fp) {
+ if (useragent_count==0 || compare_date(&UserAgentStartDate,Time)>0)
+ memcpy(&UserAgentStartDate,Time,sizeof(UserAgentStartDate));
+ if (useragent_count==0 || compare_date(&UserAgentEndDate,Time)<0)
+ memcpy(&UserAgentEndDate,Time,sizeof(UserAgentEndDate));
fprintf(fp,"%s\t%s\t%s\n",Ip,Agent,User);
useragent_count++;
}
logtime.tm_year=year-1900;
logtime.tm_mon=month-1;
logtime.tm_mday=day;
- if (totregsl==1 || compare_date(&UserAgentStartDate,&logtime)>0)
- memcpy(&UserAgentStartDate,&logtime,sizeof(logtime));
- if (compare_date(&UserAgentEndDate,&logtime)<0)
- memcpy(&UserAgentEndDate,&logtime,sizeof(logtime));
if (getword_skip(MAXLEN,&gwarea,'"')<0 || getword(agent,sizeof(agent),&gwarea,'"')<0) {
debuga(__FILE__,__LINE__,_("Invalid useragent in file \"%s\"\n"),FileName);
exit(EXIT_FAILURE);
strcpy(user,ip);
}
- UserAgent_Write(fp_ou,ip,user,agent);
+ UserAgent_Write(fp_ou,&logtime,ip,user,agent);
}
if (FileObject_Close(fp_log)==EOF) {