rbb 99/12/21 13:41:55
Modified: src configure.in src/include httpd.h util_date.h src/main config.h.stub util.c util_date.c src/modules/standard mod_log_config.c Log: Remove a bunch of functions that are being replaced by functions in APR. Also finished porting Apache to use APR in most cases. Revision Changes Path 1.14 +0 -1 apache-2.0/src/configure.in Index: configure.in =================================================================== RCS file: /home/cvs/apache-2.0/src/configure.in,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- configure.in 1999/12/20 05:03:01 1.13 +++ configure.in 1999/12/21 21:41:40 1.14 @@ -83,7 +83,6 @@ strerror \ initgroups \ waitpid \ -difftime \ gettimeofday \ memmove \ bzero \ 1.16 +0 -1 apache-2.0/src/include/httpd.h Index: httpd.h =================================================================== RCS file: /home/cvs/apache-2.0/src/include/httpd.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- httpd.h 1999/12/20 16:38:32 1.15 +++ httpd.h 1999/12/21 21:41:43 1.16 @@ -914,7 +914,6 @@ */ /* Time */ -API_EXPORT(struct tm *) ap_get_gmtoff(int *tz); API_EXPORT(char *) ap_get_time(void); API_EXPORT(char *) ap_field_noparam(ap_context_t *p, const char *intype); API_EXPORT(char *) ap_ht_time(ap_context_t *p, ap_time_t *t, const char *fmt, int gmt); 1.5 +0 -1 apache-2.0/src/include/util_date.h Index: util_date.h =================================================================== RCS file: /home/cvs/apache-2.0/src/include/util_date.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- util_date.h 1999/12/20 16:38:33 1.4 +++ util_date.h 1999/12/21 21:41:43 1.5 @@ -76,7 +76,6 @@ #define BAD_DATE (time_t)0 API_EXPORT(int) ap_checkmask(const char *data, const char *mask); -API_EXPORT(time_t) ap_tm2sec(const struct tm *t); API_EXPORT(ap_time_t *) ap_parseHTTPdate(const char *date, ap_context_t *cont); #ifdef __cplusplus 1.4 +0 -3 apache-2.0/src/main/Attic/config.h.stub 1.21 +6 -43 apache-2.0/src/main/util.c Index: util.c =================================================================== RCS file: /home/cvs/apache-2.0/src/main/util.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- util.c 1999/12/20 16:38:35 1.20 +++ util.c 1999/12/21 21:41:48 1.21 @@ -94,12 +94,13 @@ API_EXPORT(char *) ap_get_time() { - time_t t; - char *time_string; + ap_time_t *t = NULL; + char *time_string = NULL; - t = time(NULL); - time_string = ctime(&t); - time_string[strlen(time_string) - 1] = '\0'; + ap_make_time(&t, NULL); + ap_current_time(t); + + ap_timestr(&time_string, t, APR_LOCALTIME, NULL); return (time_string); } @@ -174,37 +175,6 @@ return ap_pstrdup(p, ts); } -/* What a pain in the ass. */ -#if defined(HAVE_GMTOFF) -API_EXPORT(struct tm *) ap_get_gmtoff(int *tz) -{ - time_t tt = time(NULL); - struct tm *t; - - t = localtime(&tt); - *tz = (int) (t->tm_gmtoff / 60); - return t; -} -#else -API_EXPORT(struct tm *) ap_get_gmtoff(int *tz) -{ - time_t tt = time(NULL); - struct tm gmt; - struct tm *t; - int days, hours, minutes; - - /* Assume we are never more than 24 hours away. */ - gmt = *gmtime(&tt); /* remember gmtime/localtime return ptr to static */ - t = localtime(&tt); /* buffer... so be careful */ - days = t->tm_yday - gmt.tm_yday; - hours = ((days < -1 ? 24 : 1 < days ? -24 : days * 24) - + t->tm_hour - gmt.tm_hour); - minutes = hours * 60 + t->tm_min - gmt.tm_min; - *tz = minutes; - return t; -} -#endif - /* Roy owes Rob beer. */ /* Rob owes Roy dinner. */ @@ -2044,13 +2014,6 @@ p = sys_errlist[err]; return (p); -} -#endif - -#ifndef HAVE_DIFFTIME -double difftime(time_t time1, time_t time0) -{ - return (time1 - time0); } #endif 1.7 +0 -42 apache-2.0/src/main/util_date.c Index: util_date.c =================================================================== RCS file: /home/cvs/apache-2.0/src/main/util_date.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- util_date.c 1999/12/20 16:38:35 1.6 +++ util_date.c 1999/12/21 21:41:48 1.7 @@ -126,48 +126,6 @@ } /* - * tm2sec converts a GMT tm structure into the number of seconds since - * 1st January 1970 UT. Note that we ignore tm_wday, tm_yday, and tm_dst. - * - * The return value is always a valid time_t value -- (time_t)0 is returned - * if the input date is outside that capable of being represented by time(), - * i.e., before Thu, 01 Jan 1970 00:00:00 for all systems and - * beyond 2038 for 32bit systems. - * - * This routine is intended to be very fast, much faster than mktime(). - */ -API_EXPORT(time_t) ap_tm2sec(const struct tm * t) -{ - int year; - time_t days; - static const int dayoffset[12] = - {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; - - year = t->tm_year; - - if (year < 70 || ((sizeof(time_t) <= 4) && (year >= 138))) - return BAD_DATE; - - /* shift new year to 1st March in order to make leap year calc easy */ - - if (t->tm_mon < 2) - year--; - - /* Find number of days since 1st March 1900 (in the Gregorian calendar). */ - - days = year * 365 + year / 4 - year / 100 + (year / 100 + 3) / 4; - days += dayoffset[t->tm_mon] + t->tm_mday - 1; - days -= 25508; /* 1 jan 1970 is 25508 days since 1 mar 1900 */ - - days = ((days * 24 + t->tm_hour) * 60 + t->tm_min) * 60 + t->tm_sec; - - if (days < 0) - return BAD_DATE; /* must have overflowed */ - else - return days; /* must be a valid time */ -} - -/* * Parses an HTTP date in one of three standard forms: * * Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 1.11 +13 -5 apache-2.0/src/modules/standard/mod_log_config.c Index: mod_log_config.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_log_config.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- mod_log_config.c 1999/12/20 16:38:39 1.10 +++ mod_log_config.c 1999/12/21 21:41:53 1.11 @@ -381,13 +381,15 @@ static const char *log_request_time(request_rec *r, char *a) { int timz; - struct tm *t; + ap_int32_t mday, year, hour, min, sec, month; + ap_time_t *t; char tstr[MAX_STRING_LEN]; - t = ap_get_gmtoff(&timz); + ap_make_time(&t, r->pool); + ap_get_gmtoff(&timz, t, r->pool); if (a && *a) { /* Custom format */ - strftime(tstr, MAX_STRING_LEN, a, t); + ap_strftime(tstr, MAX_STRING_LEN, a, t); } else { /* CLF format */ char sign = (timz < 0 ? '-' : '+'); @@ -395,9 +397,15 @@ if (timz < 0) { timz = -timz; } + ap_get_mday(t, &mday); + ap_get_year(t, &year); + ap_get_hour(t, &month); + ap_get_hour(t, &hour); + ap_get_min(t, &min); + ap_get_sec(t, &sec); ap_snprintf(tstr, sizeof(tstr), "[%02d/%s/%d:%02d:%02d:%02d %c%.2d%.2d]", - t->tm_mday, ap_month_snames[t->tm_mon], t->tm_year+1900, - t->tm_hour, t->tm_min, t->tm_sec, + mday, ap_month_snames[month], year+1900, + hour, min, sec, sign, timz / 60, timz % 60); }