*** getstats.12.c.orig Thu Aug 19 13:44:54 1999 --- getstats.12.c Thu Aug 19 13:52:45 1999 *************** *** 60,66 **** ** "CERN", "NCSA", "PLEXUS", "GN", "MAC", or "GOPHER". */ #ifndef COMMON ! #define COMMON 0 #endif /* Overridden by -M option. ** If your log file is in the "common" format, define COMMON as --- 60,66 ---- ** "CERN", "NCSA", "PLEXUS", "GN", "MAC", or "GOPHER". */ #ifndef COMMON ! #define COMMON 1 #endif /* Overridden by -M option. ** If your log file is in the "common" format, define COMMON as *************** *** 473,479 **** #define FLAGLEN 5 #define BREAKLEN 46 #define LONGDATELEN 80 ! #define SHORTDATELEN 9 #define DATENOTZLEN 19 #define TZLEN 3 #define DATEARGLEN 10 --- 473,479 ---- #define FLAGLEN 5 #define BREAKLEN 46 #define LONGDATELEN 80 ! #define SHORTDATELEN 11 #define DATENOTZLEN 19 #define TZLEN 3 #define DATEARGLEN 10 *************** *** 1016,1023 **** nowtime = starttime = getthetime(); currenttime = localtime((time_t *) &nowtime); ! sprintf(newshortdate, "%02d/%02d/%02d", currenttime->tm_mon + 1, ! currenttime->tm_mday, currenttime->tm_year); if (strcmp(addrmask, "NONE")) removespaces(addrmask); --- 1016,1023 ---- nowtime = starttime = getthetime(); currenttime = localtime((time_t *) &nowtime); ! sprintf(newshortdate, "%02d/%02d/%04d", currenttime->tm_mon + 1, ! currenttime->tm_mday, currenttime->tm_year + CENTURY); if (strcmp(addrmask, "NONE")) removespaces(addrmask); *************** *** 2330,2343 **** if (!i || !strcmp(request, "/")) strcpy(request, HOMEPAGE); ! c = (char *) strrchr(logline, '"') + 2; if (*c != '-') { status = 0; while (isdigit(*c)) { status = (status * 10) + (*c - '0'); c++; } ! if (status < 200 || status > 299) return 0; c++; } --- 2330,2345 ---- if (!i || !strcmp(request, "/")) strcpy(request, HOMEPAGE); ! /* c = (char *) strrchr(logline, '"') + 2; */ ! c = (char *) strstr(logline, "\" ") + 2; if (*c != '-') { status = 0; while (isdigit(*c)) { status = (status * 10) + (*c - '0'); c++; } ! /* if (status < 200 || status > 299) */ ! if (status < 200 || status > 399) return 0; c++; } *************** *** 2744,2750 **** monshortdate[SHORTDATELEN], sunshortdate[SHORTDATELEN]; int monmonth, monday, monyear, sunmonth, sunday, sunyear; ! sprintf(shortdate, "%02d/%02d/%02d", month, day, year); strcpy(monshortdate, getshortdate(shortdate, 1)); strcpy(sunshortdate, getshortdate(shortdate, 0)); --- 2746,2752 ---- monshortdate[SHORTDATELEN], sunshortdate[SHORTDATELEN]; int monmonth, monday, monyear, sunmonth, sunday, sunyear; ! sprintf(shortdate, "%02d/%02d/%04d", month, day, year); strcpy(monshortdate, getshortdate(shortdate, 1)); strcpy(sunshortdate, getshortdate(shortdate, 0)); *************** *** 2767,2774 **** for (i = 0; strstr(date, months[i]) == NULL; i++) ; month = i + 1; ! sprintf(shortdate, "%02d/%c%c/%c%c", month, (date[8] == ' ') ? ! '0' : date[8], date[9], date[22], date[23]); } char *convtoeurodate(shortdate) --- 2769,2776 ---- for (i = 0; strstr(date, months[i]) == NULL; i++) ; month = i + 1; ! sprintf(shortdate, "%02d/%c%c/%c%c%c%c", month, (date[8] == ' ') ? ! '0' : date[8], date[9], date[20], date[21], date[22], date[23]); } char *convtoeurodate(shortdate) *************** *** 3187,3192 **** --- 3189,3196 ---- e->date = date; e->requestsize += filesize; e->requestnum += 1; + if (filesize > 0) + e->filesize = filesize; } return e; *************** *** 3484,3490 **** printgraph(11, hoursumstats[i], HOURSUMMARK, MARK, largenum); if (printbytes) { ! printf(" bytes : "); printgraph(11, hoursumstats[i + 24], HOURSUMBYTEMARK, BYTEMARK, largenum); } --- 3488,3494 ---- printgraph(11, hoursumstats[i], HOURSUMMARK, MARK, largenum); if (printbytes) { ! printf(" bytes : "); printgraph(11, hoursumstats[i + 24], HOURSUMBYTEMARK, BYTEMARK, largenum); } *************** *** 3514,3520 **** printgraph(16, n->requests, MONTHMARK, MARK, largestmonthnum); if (printbytes && n->filesize >= 0) { ! printf(" bytes : "); printgraph(16, n->filesize, MONTHBYTEMARK, BYTEMARK, largestmonthnum); } --- 3518,3524 ---- printgraph(16, n->requests, MONTHMARK, MARK, largestmonthnum); if (printbytes && n->filesize >= 0) { ! printf(" bytes : "); printgraph(16, n->filesize, MONTHBYTEMARK, BYTEMARK, largestmonthnum); } *************** *** 3527,3533 **** printgraph(18, n->requests, WEEKMARK, MARK, largestweeknum); if (printbytes && n->filesize >= 0) { ! printf(" bytes : "); printgraph(18, n->filesize, WEEKBYTEMARK, BYTEMARK, largestweeknum); } --- 3531,3537 ---- printgraph(18, n->requests, WEEKMARK, MARK, largestweeknum); if (printbytes && n->filesize >= 0) { ! printf(" bytes : "); printgraph(18, n->filesize, WEEKBYTEMARK, BYTEMARK, largestweeknum); } *************** *** 3541,3547 **** printgraph(16, n->requests, DAYMARK, MARK, largestdaynum); if (printbytes && n->filesize >= 0) { ! printf(" bytes : "); printgraph(16, n->filesize, DAYBYTEMARK, BYTEMARK, largestdaynum); } --- 3545,3551 ---- printgraph(16, n->requests, DAYMARK, MARK, largestdaynum); if (printbytes && n->filesize >= 0) { ! printf(" bytes : "); printgraph(16, n->filesize, DAYBYTEMARK, BYTEMARK, largestdaynum); } *************** *** 3557,3563 **** printgraph(11, n->requests, HOURMARK, MARK, largesthournum); if (printbytes && n->filesize >= 0) { ! printf(" bytes : "); printgraph(11, n->filesize, HOURBYTEMARK, BYTEMARK, largesthournum); } --- 3561,3567 ---- printgraph(11, n->requests, HOURMARK, MARK, largesthournum); if (printbytes && n->filesize >= 0) { ! printf(" bytes : "); printgraph(11, n->filesize, HOURBYTEMARK, BYTEMARK, largesthournum); } *************** *** 3991,3997 **** int mn, dy, yr, n1, n2; sscanf(shortdate, "%d/%d/%d", &mn, &dy, &yr); ! yr += CENTURY; if (mn < 3) { mn += 12; --- 3995,4001 ---- int mn, dy, yr, n1, n2; sscanf(shortdate, "%d/%d/%d", &mn, &dy, &yr); ! /* yr += CENTURY; */ if (mn < 3) { mn += 12; *************** *** 4027,4033 **** int month, day, year; sscanf(shortdate, "%d/%d/%d", &month, &day, &year); ! year += CENTURY; for (yearday = i = 0; i < month - 1; i++) { if (i == 1 && IS_LEAP(year)) --- 4031,4037 ---- int month, day, year; sscanf(shortdate, "%d/%d/%d", &month, &day, &year); ! /* year += CENTURY; */ for (yearday = i = 0; i < month - 1; i++) { if (i == 1 && IS_LEAP(year)) *************** *** 4084,4094 **** days[getnweekday(month + 1, day, year)], months[month], day, hours, minutes, yearsecs, year); else if (type == 2) ! sprintf(date, "%02d/%02d/%02d %02d:%02d:%02d", ! month + 1, day, year - CENTURY, hours, minutes, yearsecs); else if (type == 3) ! sprintf(date, "%02d/%02d/%02d", ! month + 1, day, year - CENTURY); else if (type == 4) sprintf(date, "%s %d, %d", months[month], day, year); #else --- 4088,4098 ---- days[getnweekday(month + 1, day, year)], months[month], day, hours, minutes, yearsecs, year); else if (type == 2) ! sprintf(date, "%02d/%02d/%04d %02d:%02d:%02d", ! month + 1, day, year, hours, minutes, yearsecs); else if (type == 3) ! sprintf(date, "%02d/%02d/%04d", ! month + 1, day, year); else if (type == 4) sprintf(date, "%s %d, %d", months[month], day, year); #else *************** *** 4097,4107 **** days[getnweekday(month + 1, day, year)], day, months[month], hours, minutes, yearsecs, year); else if (type == 2) ! sprintf(date, "%02d/%02d/%02d %02d:%02d:%02d", ! day, month + 1, year - CENTURY, hours, minutes, yearsecs); else if (type == 3) ! sprintf(date, "%02d/%02d/%02d", ! day, month + 1, year - CENTURY); else if (type == 4) sprintf(date, "%d %s, %d", day, months[month], year); #endif --- 4101,4111 ---- days[getnweekday(month + 1, day, year)], day, months[month], hours, minutes, yearsecs, year); else if (type == 2) ! sprintf(date, "%02d/%02d/%04d %02d:%02d:%02d", ! day, month + 1, year, hours, minutes, yearsecs); else if (type == 3) ! sprintf(date, "%02d/%02d/%04d", ! day, month + 1, year); else if (type == 4) sprintf(date, "%d %s, %d", day, months[month], year); #endif *************** *** 4117,4123 **** strcpy(tmpshortdate, shortdate); sscanf(tmpshortdate, "%d/%d/%d", &month, &day, &year); ! year += CENTURY; for (yearday = i = 0; i < month - 1; i++) { if (i == 1 && IS_LEAP(year)) yearday++; --- 4121,4127 ---- strcpy(tmpshortdate, shortdate); sscanf(tmpshortdate, "%d/%d/%d", &month, &day, &year); ! /* year += CENTURY; */ for (yearday = i = 0; i < month - 1; i++) { if (i == 1 && IS_LEAP(year)) yearday++; *************** *** 4134,4140 **** int month, day, year, yearday, weekday, mondayday; sscanf(shortdate, "%d/%d/%d", &month, &day, &year); ! year += CENTURY; yearday = getyearday(shortdate); weekday = getweekday(shortdate); --- 4138,4144 ---- int month, day, year, yearday, weekday, mondayday; sscanf(shortdate, "%d/%d/%d", &month, &day, &year); ! /* year += CENTURY; */ yearday = getyearday(shortdate); weekday = getweekday(shortdate); *************** *** 4160,4166 **** static char newshortdate[SHORTDATELEN]; sscanf(shortdate, "%d/%d/%d", &month, &day, &year); ! year += CENTURY; yearday = getyearday(shortdate); weekday = getweekday(shortdate); --- 4164,4170 ---- static char newshortdate[SHORTDATELEN]; sscanf(shortdate, "%d/%d/%d", &month, &day, &year); ! /* year += CENTURY; */ yearday = getyearday(shortdate); weekday = getweekday(shortdate); *************** *** 4200,4206 **** break; } ! sprintf(newshortdate, "%02d/%02d/%02d", i + 1, yearday, year - CENTURY); return newshortdate; } --- 4204,4210 ---- break; } ! sprintf(newshortdate, "%02d/%02d/%04d", i + 1, yearday, year); return newshortdate; } *************** *** 4238,4245 **** int ishtmlrequest(request) char *request; { ! return (strstr(request, ".html") || strstr(request, "GET") || ! strstr(request, "HEAD")); } int isscriptrequest(request) --- 4242,4249 ---- int ishtmlrequest(request) char *request; { ! return (strstr(request, ".html") || strstr(request, ".htm") || ! strstr(request, "GET") || strstr(request, "HEAD")); } int isscriptrequest(request)