rbb         99/06/02 12:51:55

  Modified:    apr/misc/win32 misc.def names.c start.c
  Log:
  Changes to allow misc stuff to build after this mornings changes.
  
  Revision  Changes    Path
  1.2       +2 -1      apache-apr/apr/misc/win32/misc.def
  
  Index: misc.def
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/misc/win32/misc.def,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- misc.def  1999/06/01 19:29:00     1.1
  +++ misc.def  1999/06/02 19:51:48     1.2
  @@ -11,4 +11,5 @@
        ap_set_signal_safe   @4
        ap_set_cancel_safe   @5
        ap_destroy_context   @6
  -     WinTimeToUnixTime   @7
  \ No newline at end of file
  +     WinTimeToUnixTime   @7
  +     ap_get_oslevel   @8
  
  
  
  1.2       +9 -9      apache-apr/apr/misc/win32/names.c
  
  Index: names.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/misc/win32/names.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- names.c   1999/06/01 19:29:00     1.1
  +++ names.c   1999/06/02 19:51:49     1.2
  @@ -84,7 +84,7 @@
    * is present on the existing path.  This routine also
    * converts alias names to long names.
    */
  -API_EXPORT(char *) ap_os_systemcase_filename(ap_pool_t *pPool, 
  +API_EXPORT(char *) ap_os_systemcase_filename(struct context_t *pCont, 
                                                const char *szFile)
   {
       char buf[HUGE_STRING_LEN];
  @@ -96,10 +96,10 @@
       WIN32_FIND_DATA wfd;
   
       if (!szFile || strlen(szFile) == 0 || strlen(szFile) >= sizeof(buf))
  -        return ap_pstrdup(pPool, "");
  +        return ap_pstrdup(pCont, "");
   
       buf[0] = '\0';
  -    pInputName = ap_pstrdup(pPool, szFile);
  +    pInputName = ap_pstrdup(pCont, szFile);
   
       /* First convert all slashes to \ so Win32 calls work OK */
       for (p = pInputName; *p; p++) {
  @@ -197,13 +197,13 @@
               *p = '/';
       }
   
  -    return ap_pstrdup(pPool, buf);
  +    return ap_pstrdup(pCont, buf);
   }
    
   /*  Perform canonicalization with the exception that the
    *  input case is preserved.
    */
  -char * canonical_filename(ap_pool_t *pPool, const char *szFile)
  +char * canonical_filename(struct context_t *pCont, const char *szFile)
   {
       char *pNewStr;
       char *s;
  @@ -211,9 +211,9 @@
       char *q;
   
       if (szFile == NULL || strlen(szFile) == 0)
  -        return ap_pstrdup(pPool, "");
  +        return ap_pstrdup(pCont, "");
   
  -    pNewStr = ap_pstrdup(pPool, szFile);
  +    pNewStr = ap_pstrdup(pCont, szFile);
   
       /*  Change all '\' characters to '/' characters.
        *  While doing this, remove any trailing '.'.
  @@ -276,7 +276,7 @@
            * ap_os_systemcase_filename to examine the filesystem
            * and possibly extract the long name.
            */
  -        pConvertedName = ap_os_systemcase_filename(pPool, pNewStr);
  +        pConvertedName = ap_os_systemcase_filename(pCont, pNewStr);
   
           /* Since we want to preserve the incoming case as much
            * as we can, compare for differences in the string and
  @@ -311,7 +311,7 @@
   
               } while (p != NULL); 
                        
  -            pNewStr = ap_pstrdup(pPool, buf);
  +            pNewStr = ap_pstrdup(pCont, buf);
           }
       }
       return pNewStr;
  
  
  
  1.2       +35 -2     apache-apr/apr/misc/win32/start.c
  
  Index: start.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/misc/win32/start.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- start.c   1999/06/01 19:29:00     1.1
  +++ start.c   1999/06/02 19:51:49     1.2
  @@ -54,6 +54,7 @@
    */
   
   #include "apr_win.h"
  +#include "misc.h"
   #include "apr_general.h"
   #include "apr_errno.h"
   #include "apr_pools.h"
  @@ -74,8 +75,14 @@
           
       if (pool == NULL) {
           return APR_ENOPOOL;
  -    }    
  -    new = (ap_context_t *)ap_palloc(pool, sizeof(ap_context_t));
  +    }
  +    
  +     if (cont) {
  +             new = (ap_context_t *)ap_palloc(cont, sizeof(ap_context_t));
  +     }
  +     else {
  +             new = (ap_context_t *)malloc(sizeof(ap_context_t));
  +     }
       new->pool = pool;
       if (data == NULL && cont) {
           new->prog_data = cont->prog_data;
  @@ -118,5 +125,31 @@
   {
       ap_destroy_pool(cont->pool);
       return APR_SUCCESS;
  +}
  +
  +ap_status_t ap_get_oslevel(ap_context_t *cont, ap_oslevel_e *level)
  +{
  +     static OSVERSIONINFO oslev;
  +     static BOOL first = TRUE;
  +
  +     if (first) {
  +             first = FALSE;
  +             GetVersionEx(&oslev);
  +     }
  +     if (oslev.dwPlatformId == VER_PLATFORM_WIN32_NT) {
  +             (*level) = APR_WIN_NT;
  +             return APR_SUCCESS;
  +     }
  +     else if (oslev.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {
  +             if (oslev.dwMinorVersion == 0) {
  +                     (*level) = APR_WIN_95;
  +                     return APR_SUCCESS;
  +             }
  +             else if (oslev.dwMinorVersion > 0) {
  +                     (*level) = APR_WIN_98;
  +                     return APR_SUCCESS;
  +             }
  +     }
  +     return APR_EEXIST;
   }
   
  
  
  

Reply via email to