char date[255];
char arq[255];
char arq_log[255];
- char hm[15], hmf[15], hmr[15];
- int chm=0;
+ int hm, hmf, hmr;
+ char hm_str[15];
char uagent[MAXLEN];
char hexclude[MAXLEN];
char csort[MAXLEN];
uagent[0]='\0';
hexclude[0]='\0';
addr[0]='\0';
- hm[0]='\0';
- hmf[0]='\0';
+ hm=-1;
+ hmf=-1;
site[0]='\0';
outdir[0]='\0';
elap[0]='\0';
break;
case 't':
{
- int h,m;
+ int h1,m1,h2,m2;
if(strstr(optarg,"-") == 0) {
- strcpy(hm,optarg);
- strcpy(hmf,optarg);
+ if(sscanf(optarg,"%d:%d",&h1,&m1)!=2) {
+ debuga(_("Time period passed on the command line with option -t must be MM:SS\n"));
+ exit(EXIT_FAILURE);
+ }
+ hm=h1*100+m1;
+ hmf=hm;
+ snprintf(hm_str,sizeof(hm_str),"%02d:%02d",h1,m1);
} else {
- getword_start(&gwarea,optarg);
- if (getword(hm,sizeof(hm),&gwarea,'-')<0 || getword(hmf,sizeof(hmf),&gwarea,'\0')<0) {
- debuga(_("The time range passed on the command line with option -t is invalid\n"));
+ if(sscanf(optarg,"%d:%d-%d:%d",&h1,&m1,&h2,&m2)!=4) {
+ debuga(_("Time range passed on the command line with option -t must be MM:SS-MM:SS\n"));
exit(EXIT_FAILURE);
}
+ hm=h1*100+m1;
+ hmf=h2*100+m2;
+ snprintf(hm_str,sizeof(hm_str),"%02d:%02d-%02d:%02d",h1,m1,h2,m2);
}
- if(sscanf(hm,"%d:%d",&h,&m)!=2) {
- debuga(_("Time period must be MM or MM:SS. Exit\n"));
- exit(EXIT_FAILURE);
- }
- sprintf(hm,"%02d%02d",h,m);
- if(sscanf(hmf,"%d:%d",&h,&m)!=2) {
- debuga(_("Time period must be MM or MM:SS. Exit\n"));
- exit(EXIT_FAILURE);
- }
- sprintf(hmf,"%02d%02d",h,m);
break;
}
case 'u':
debuga(_(" Output dir (-o) = %s\n"),outdir);
debuga(_("Use Ip Address instead of userid (-p) = %s\n"),(UserIp) ? _("Yes") : _("No"));
debuga(_(" Accessed site (-s) = %s\n"),site);
- debuga(_(" Time (-t) = %s\n"),hm);
+ debuga(_(" Time (-t) = %s\n"),hm_str);
debuga(_(" User (-u) = %s\n"),us);
debuga(_(" Temporary dir (-w) = %s\n"),tmp);
debuga(_(" Debug messages (-x) = %s\n"),(debug) ? _("Yes") : _("No"));
printf(_(" Output dir (-o) = %s\n"),outdir);
printf(_("Use Ip Address instead of userid (-p) = %s\n"),(UserIp) ? _("Yes") : _("No"));
printf(_(" Accessed site (-s) = %s\n"),site);
- printf(_(" Time (-t) = %s\n"),hm);
+ printf(_(" Time (-t) = %s\n"),hm_str);
printf(_(" User (-u) = %s\n"),us);
printf(_(" Temporary dir (-w) = %s\n"),tmp);
printf(_(" Debug messages (-x) = %s\n"),(debug) ? _("Yes") : _("No"));
}
}
- if(hm[0] != '\0') {
- hmr[0]='\0';
- chm++;
- getword_start(&gwarea,hora);
- while(chm) {
- if (getword_multisep(warea,sizeof(warea),&gwarea,':')<0){
- debuga(_("Maybe you have a broken time in your %s file\n"),arq);
- exit(EXIT_FAILURE);
- }
- strncat(hmr,warea,2);
- chm--;
- }
- strncat(hmr,gwarea.current,2);
-
- if(atoi(hmr) < atoi(hm) || atoi(hmr) > atoi(hmf)) continue;
+ if(hm >= 0 && hmf >= 0) {
+ hmr=t->tm_hour*100+t->tm_min;
+ if(hmr < hm || hmr > hmf) continue;
}
if(site[0] != '\0'){