rbb 99/12/30 10:31:30
Modified: src/lib/apr/include apr_time.h src/lib/apr/time/unix timestr.c src/main util.c src/modules/standard mod_log_config.c Log: Some changes to the ap_strftime function. We now inform the user of the length of the string written, and we return a status code. I expect the status code to mean a bit more on Windows than it currently does on Unix. Revision Changes Path 1.7 +1 -1 apache-2.0/src/lib/apr/include/apr_time.h Index: apr_time.h =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_time.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- apr_time.h 1999/12/21 21:16:19 1.6 +++ apr_time.h 1999/12/30 18:31:27 1.7 @@ -77,7 +77,7 @@ ap_status_t ap_implode_time(ap_time_t *); ap_status_t ap_timestr(char **date_str, struct atime_t *t, ap_timetype_e type, ap_context_t *p); -ap_status_t ap_strftime(char *s, ap_size_t max, const char *format, ap_time_t *tm); +ap_status_t ap_strftime(char *s, ap_int32_t *retsize, ap_size_t max, const char *format, ap_time_t *tm); /* accessor functions */ ap_status_t ap_get_curtime(ap_time_t *, ap_int64_t *); 1.3 +4 -2 apache-2.0/src/lib/apr/time/unix/timestr.c Index: timestr.c =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/time/unix/timestr.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- timestr.c 1999/12/21 16:21:43 1.2 +++ timestr.c 1999/12/30 18:31:28 1.3 @@ -126,8 +126,10 @@ */ } -ap_status_t ap_strftime(char *s, ap_size_t max, const char *format, struct atime_t *tm) +ap_status_t ap_strftime(char *s, ap_int32_t *retsize, ap_size_t max, + const char *format, struct atime_t *tm) { - strftime(s, max, format, tm->explodedtime); + (*retsize) = strftime(s, max, format, tm->explodedtime); + return APR_SUCCESS; } 1.22 +2 -1 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.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- util.c 1999/12/21 21:41:48 1.21 +++ util.c 1999/12/30 18:31:28 1.22 @@ -126,6 +126,7 @@ API_EXPORT(char *) ap_ht_time(ap_context_t *p, ap_time_t *t, const char *fmt, int gmt) { + ap_int32_t retcode; char ts[MAX_STRING_LEN]; char tf[MAX_STRING_LEN]; @@ -170,7 +171,7 @@ } /* check return code? */ - ap_strftime(ts, MAX_STRING_LEN, fmt, t); + ap_strftime(ts, &retcode, MAX_STRING_LEN, fmt, t); ts[MAX_STRING_LEN - 1] = '\0'; return ap_pstrdup(p, ts); } 1.12 +2 -1 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.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- mod_log_config.c 1999/12/21 21:41:53 1.11 +++ mod_log_config.c 1999/12/30 18:31:29 1.12 @@ -384,12 +384,13 @@ ap_int32_t mday, year, hour, min, sec, month; ap_time_t *t; char tstr[MAX_STRING_LEN]; + ap_int32_t retcode; ap_make_time(&t, r->pool); ap_get_gmtoff(&timz, t, r->pool); if (a && *a) { /* Custom format */ - ap_strftime(tstr, MAX_STRING_LEN, a, t); + ap_strftime(tstr, &retcode, MAX_STRING_LEN, a, t); } else { /* CLF format */ char sign = (timz < 0 ? '-' : '+');