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 ? '-' : '+');