*** Daemon/Implementation/HTLog.c	1994/09/25 18:53:37
--- Daemon/Implementation/HTLog.c.patch	1995/02/18 20:40:45
***************
*** 55,100 ****
  #define DATE_EXT_LEN 20
  PRIVATE char * time_escapes ARGS1(CONST char *, filename)
  {
!     time_t t;
!     struct tm * gmt;
!     char * result;
!     char date[DATE_EXT_LEN+1];
! 
!     /* If we have a date format to paste on the file names. Else use default */
!     time(&t);
!     gmt = gmtime(&t);
!     result = malloc(strlen(filename)+DATE_EXT_LEN+2);
      if (sc.log_file_date_ext) {
  
  	/* Not all platforms have strftime() :-( */
  #if defined(Mips) || defined(_AUX) || (defined(VMS) && !defined(DECC))
! 	/* A shortcut as we should use the value of log_file_date_ext ;-) */
! 	sprintf(date, "%s%02d%02d",
! 		month_names[gmt->tm_mon], gmt->tm_mday, gmt->tm_year);
! #else
! 	strftime(date, DATE_EXT_LEN, sc.log_file_date_ext, gmt);
! #endif /* strftime() */
!     } else {
! #if defined(Mips) || defined(_AUX) || (defined(VMS) && !defined(DECC))
  	sprintf(date, "%s%02d%02d",
! 		month_names[gmt->tm_mon], gmt->tm_mday, gmt->tm_year);
  #else
! 	strftime(date, DATE_EXT_LEN, "%b%d%y", gmt);
  #endif /* strftime() */
!     }
!     *(date+DATE_EXT_LEN) = '\0';
!     {
! 	char *ptr = date;
! 	while (*ptr) {
! 	    if (*ptr == ' ')
! 		*ptr = '_';
! 	    ptr++;
  	}
!     }
!     if (*(filename+strlen(filename)-1) == '.')
! 	sprintf(result, "%s%s", filename, date);
!     else
! 	sprintf(result, "%s.%s", filename, date);
  
      if (*result != '/') {
  	if (sc.server_root) {
--- 55,93 ----
  #define DATE_EXT_LEN 20
  PRIVATE char * time_escapes ARGS1(CONST char *, filename)
  {
!     char *result = (char *) malloc(strlen(filename)+DATE_EXT_LEN+2);
      if (sc.log_file_date_ext) {
+ 	time_t cur_time = time(NULL);
+ 	struct tm * gorl;
+ 	char date[DATE_EXT_LEN+1];
+ 
+ 	if (sc.use_gmt)
+ 	    gorl = gmtime(&cur_time);
+ 	else
+ 	    gorl = localtime(&cur_time);
  
  	/* Not all platforms have strftime() :-( */
  #if defined(Mips) || defined(_AUX) || (defined(VMS) && !defined(DECC))
! 	/* A shortcut as we should use the value of log_file_date_ext :-( */
  	sprintf(date, "%s%02d%02d",
! 		month_names[gorl->tm_mon], gorl->tm_mday, gorl->tm_year);
  #else
! 	strftime(date, DATE_EXT_LEN, sc.log_file_date_ext, gorl);
! 	*(date+DATE_EXT_LEN)='\0';
  #endif /* strftime() */
! 	{
! 	    char *ptr = date;
! 	    while (*ptr) {
! 		if (*ptr == ' ') *ptr = '_';
! 		ptr++;
! 	    }
  	}
! 	if (*(filename+strlen(filename)-1) == '.')
! 	    sprintf(result, "%s%s", filename, date);
! 	else
! 	    sprintf(result, "%s.%s", filename, date);
!     } else
! 	sprintf(result, filename);
  
      if (*result != '/') {
  	if (sc.server_root) {
