Return-Path: Delivered-To: apmail-apache-cvs-archive@apache.org Received: (qmail 92047 invoked by uid 500); 17 Jun 2000 21:06:26 -0000 Mailing-List: contact apache-cvs-help@apache.org; run by ezmlm Precedence: bulk X-No-Archive: yes Reply-To: new-httpd@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list apache-cvs@apache.org Received: (qmail 92035 invoked by uid 500); 17 Jun 2000 21:06:25 -0000 Delivered-To: apmail-apache-2.0-cvs@apache.org Date: 17 Jun 2000 21:06:25 -0000 Message-ID: <20000617210625.92031.qmail@locus.apache.org> From: wrowe@locus.apache.org To: apache-2.0-cvs@apache.org Subject: cvs commit: apache-2.0/src/os/win32 os.h util_win32.c wrowe 00/06/17 14:06:25 Modified: src/os/win32 os.h util_win32.c Log: Time for these to be gone? I'd say it's long past :) Revision Changes Path 1.37 +0 -1 apache-2.0/src/os/win32/os.h Index: os.h =================================================================== RCS file: /home/cvs/apache-2.0/src/os/win32/os.h,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- os.h 2000/06/12 15:29:06 1.36 +++ os.h 2000/06/17 21:06:23 1.37 @@ -145,7 +145,6 @@ API_EXPORT(char *) ap_os_case_canonical_filename(ap_pool_t *pPool, const char *szFile); API_EXPORT(char *) ap_os_systemcase_filename(ap_pool_t *pPool, const char *szFile); API_EXPORT(int) ap_os_is_filename_valid(const char *file); -API_EXPORT(int) os_strftime(char *, size_t , const char *, const struct tm *); #define ap_os_dso_error() "" /* for now */ /* Other ap_os_ routines not used by this platform */ 1.13 +0 -119 apache-2.0/src/os/win32/util_win32.c Index: util_win32.c =================================================================== RCS file: /home/cvs/apache-2.0/src/os/win32/util_win32.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- util_win32.c 2000/06/12 15:29:07 1.12 +++ util_win32.c 2000/06/17 21:06:24 1.13 @@ -332,125 +332,6 @@ return pNewName; } -/* Win95 doesn't like trailing /s. NT and Unix don't mind. This works - * around the problem. - * Errr... except if it is UNC and we are referring to the root of - * the UNC, we MUST have a trailing \ and we can't use /s. Jeez. - * Not sure if this refers to all UNCs or just roots, - * but I'm going to fix it for all cases for now. (Ben) - */ - -#undef stat -API_EXPORT(int) os_stat(const char *szPath, struct stat *pStat) -{ - int n; - - if (strlen(szPath) == 0) { - return -1; - } - - if (szPath[0] == '/' && szPath[1] == '/') { - char buf[_MAX_PATH]; - char *s; - int nSlashes = 0; - - ap_assert(strlen(szPath) < _MAX_PATH); - strcpy(buf, szPath); - for (s = buf; *s; ++s) { - if (*s == '/') { - *s = '\\'; - ++nSlashes; - } - } - /* then we need to add one more to get \\machine\share\ */ - if (nSlashes == 3) { - *s++ = '\\'; - } - *s = '\0'; - return stat(buf, pStat); - } - - /* - * Below removes the trailing /, however, do not remove - * it in the case of 'x:/' or stat will fail - */ - n = strlen(szPath); - if ((szPath[n - 1] == '\\' || szPath[n - 1] == '/') && - !(n == 3 && szPath[1] == ':')) { - char buf[_MAX_PATH]; - - ap_assert(n < _MAX_PATH); - strcpy(buf, szPath); - buf[n - 1] = '\0'; - - return stat(buf, pStat); - } - return stat(szPath, pStat); -} - - -#undef strftime - -/* Partial replacement for strftime. This adds certain expandos to the - * Windows version - */ - -API_EXPORT(int) os_strftime(char *s, size_t max, const char *format, - const struct tm *tm) { - /* If the new format string is bigger than max, the result string probably - * won't fit anyway. When %-expandos are added, made sure the padding below - * is enough. - */ - char *new_format = (char *) _alloca(max + 11); - size_t i, j, format_length = strlen(format); - int return_value; - int length_written; - - for (i = 0, j = 0; (i < format_length && j < max);) { - if (format[i] != '%') { - new_format[j++] = format[i++]; - continue; - } - switch (format[i+1]) { - case 'D': - /* Is this locale dependent? Shouldn't be... - Also note the year 2000 exposure here */ - memcpy(new_format + j, "%m/%d/%y", 8); - i += 2; - j += 8; - break; - case 'r': - memcpy(new_format + j, "%I:%M:%S %p", 11); - i += 2; - j += 11; - break; - case 'T': - memcpy(new_format + j, "%H:%M:%S", 8); - i += 2; - j += 8; - break; - case 'e': - length_written = ap_snprintf(new_format + j, max - j, "%2d", - tm->tm_mday); - j = (length_written == -1) ? max : (j + length_written); - i += 2; - break; - default: - /* We know we can advance two characters forward here. */ - new_format[j++] = format[i++]; - new_format[j++] = format[i++]; - } - } - if (j >= max) { - *s = '\0'; /* Defensive programming, okay since output is undefined */ - return_value = 0; - } else { - new_format[j] = '\0'; - return_value = strftime(s, max, new_format, tm); - } - return return_value; -} - /* * ap_os_is_filename_valid is given a filename, and returns 0 if the filename * is not valid for use on this system. On Windows, this means it fails any