You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rb...@hyperreal.org on 1999/07/06 19:37:10 UTC

cvs commit: apache-apr/apr/time/win32 time.c

rbb         99/07/06 10:37:09

  Modified:    apr/file_io/win32 dir.c open.c
               apr/locks/win32 locks.c
               apr/network_io/win32 sockets.c
               apr/threadproc/win32 proc.c thread.c threadpriv.c
               apr/time/win32 time.c
  Log:
  Bring Windows APR->platform types routines up to same level as unix.  And add platform->
  APR routines.
  
  Revision  Changes    Path
  1.3       +21 -3     apache-apr/apr/file_io/win32/dir.c
  
  Index: dir.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/file_io/win32/dir.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dir.c	1999/07/02 19:09:15	1.2
  +++ dir.c	1999/07/06 17:36:59	1.3
  @@ -209,7 +209,25 @@
       return APR_SUCCESS;
   }
   
  -ap_os_dir_t *ap_get_os_dir(struct dir_t *dir)
  +ap_status_t ap_get_os_dir(struct dir_t *dir, ap_os_dir_t *thedir)
   {
  -    return &(dir->dirhand);
  -}
  \ No newline at end of file
  +    if (dir == NULL) {
  +        return APR_ENODIR;
  +    }
  +    thedir = dir->dirhand;
  +    return APR_SUCCESS;
  +}
  +
  +ap_status_t ap_put_os_dir(ap_context_t *cont, struct dir_t **dir,
  +                            ap_os_dir_t *thedir)
  +{
  +    if (cont == NULL) {
  +        return APR_ENOCONT;
  +    }
  +    if ((*dir) == NULL) {
  +        (*dir) = (struct dir_t *)ap_palloc(cont, sizeof(struct dir_t));
  +        (*dir)->cntxt = cont;
  +    }
  +    (*dir)->dirhand = thedir;
  +    return APR_SUCCESS;
  +}
  
  
  
  1.4       +20 -2     apache-apr/apr/file_io/win32/open.c
  
  Index: open.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/file_io/win32/open.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- open.c	1999/07/02 19:09:15	1.3
  +++ open.c	1999/07/06 17:36:59	1.4
  @@ -168,7 +168,25 @@
       }
   }
   
  -ap_os_file_t *ap_get_os_file(struct file_t *file)
  +ap_status_t ap_get_os_file(struct file_t *file, ap_os_file_t *thefile)
   {
  -    return &(file->filehand);
  +    if (file == NULL) {
  +        return APR_ENOFILE;
  +    }
  +    thefile = &(file->filehand);
  +    return APR_SUCCESS;
   }
  +
  +ap_status_t ap_put_os_file(ap_context_t *cont, struct file_t **file, 
  +                            ap_os_file_t *thefile)
  +{
  +    if (cont == NULL) {
  +        return APR_ENOCONT;
  +    }
  +    if ((*file) == NULL) {
  +        (*file) = (struct file_t *)ap_palloc(cont, sizeof(struct file_t));
  +        (*file)->cntxt = cont;
  +    }
  +    (*file)->filehand = *thefile;
  +    return APR_SUCCESS;
  +}    
  
  
  
  1.4       +19 -2     apache-apr/apr/locks/win32/locks.c
  
  Index: locks.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/locks/win32/locks.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- locks.c	1999/07/02 19:09:17	1.3
  +++ locks.c	1999/07/06 17:37:01	1.4
  @@ -154,8 +154,25 @@
       }
   }
   
  -ap_os_lock_t *ap_get_os_lock(struct lock_t *lock)
  +ap_status_t ap_get_os_lock(struct lock_t *lock, ap_os_lock_t *thelock)
   {
  -    return &(lock->mutex);
  +    if (lock == NULL) {
  +        return APR_ENOFILE;
  +    }
  +    thelock = &(lock->mutex);
  +    return APR_SUCCESS;
   }
   
  +ap_status_t ap_put_os_lock(ap_context_t *cont, struct lock_t **lock, 
  +                            ap_os_lock_t *thelock)
  +{
  +    if (cont == NULL) {
  +        return APR_ENOCONT;
  +    }
  +    if ((*lock) == NULL) {
  +        (*lock) = (struct lock_t *)ap_palloc(cont, sizeof(struct lock_t));
  +        (*lock)->cntxt = cont;
  +    }
  +    (*lock)->mutex = *thelock;
  +    return APR_SUCCESS;
  +}    
  
  
  
  1.5       +21 -3     apache-apr/apr/network_io/win32/sockets.c
  
  Index: sockets.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/network_io/win32/sockets.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- sockets.c	1999/07/02 19:09:22	1.4
  +++ sockets.c	1999/07/06 17:37:03	1.5
  @@ -264,7 +264,25 @@
       }
   }
   
  -ap_os_sock_t *ap_get_os_sock(struct socket_t *sock)
  +ap_status_t ap_get_os_sock(struct socket_t *sock, ap_os_sock_t *thesock)
   {
  -    return &(sock->sock);
  -}
  \ No newline at end of file
  +    if (sock == NULL) {
  +        return APR_ENOSOCKET;
  +    }
  +    thesock = &(sock->sock);
  +    return APR_SUCCESS;
  +}
  +
  +ap_status_t ap_put_os_sock(ap_context_t *cont, struct socket_t **sock,
  +                            ap_os_sock_t *thesock)
  +{
  +    if (cont == NULL) {
  +        return APR_ENOCONT;
  +    }
  +    if ((*sock) == NULL) {
  +        (*sock) = (struct socket_t *)ap_palloc(cont, sizeof(struct socket_t));
  +        (*sock)->cntxt = cont;
  +    }
  +    (*sock)->sock = *thesock;
  +    return APR_SUCCESS;
  +}
  
  
  
  1.7       +21 -3     apache-apr/apr/threadproc/win32/proc.c
  
  Index: proc.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/threadproc/win32/proc.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- proc.c	1999/07/02 19:09:25	1.6
  +++ proc.c	1999/07/06 17:37:05	1.7
  @@ -360,7 +360,25 @@
       }
   }
   
  -ap_os_proc_t *ap_get_os_proc(struct proc_t *process)
  +ap_status_t ap_get_os_proc(ap_proc_t *proc, ap_os_proc_t *theproc)
   {
  -    return &(process->pi);
  -}
  \ No newline at end of file
  +    if (proc == NULL) {
  +        return APR_ENOPROC;
  +    }
  +    theproc = &(proc->pi);
  +    return APR_SUCCESS;
  +}
  +
  +ap_status_t ap_put_os_proc(ap_context_t *cont, struct proc_t **proc,
  +                           ap_os_proc_t *theproc)
  +{
  +    if (cont == NULL) {
  +        return APR_ENOCONT;
  +    }
  +    if ((*proc) == NULL) {
  +        (*proc) = (struct proc_t *)ap_palloc(cont, sizeof(struct proc_t));
  +        (*proc)->cntxt = cont;
  +    }
  +    (*proc)->pi = *theproc;
  +    return APR_SUCCESS;
  +}              
  
  
  
  1.5       +19 -2     apache-apr/apr/threadproc/win32/thread.c
  
  Index: thread.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/threadproc/win32/thread.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- thread.c	1999/07/02 19:09:26	1.4
  +++ thread.c	1999/07/06 17:37:05	1.5
  @@ -178,9 +178,26 @@
       }
   }
   
  -ap_os_thread_t *ap_get_os_thread(ap_thread_t *thd)
  +ap_status_t ap_get_os_thread(struct thread_t *thd, ap_os_thread_t *thethd)
   {
  -    return &(thd->td);
  +    if (thd == NULL) {
  +        return APR_ENOTHREAD;
  +    }
  +    thethd = thd->td;
  +    return APR_SUCCESS;
   }
   
  +ap_status_t ap_put_os_thread(ap_context_t *cont, struct thread_t **thd,
  +                             ap_os_thread_t *thethd)
  +{
  +    if (cont == NULL) {
  +        return APR_ENOCONT;
  +    }
  +    if ((*thd) == NULL) {
  +        (*thd) = (struct thread_t *)ap_palloc(cont, sizeof(struct thread_t));
  +        (*thd)->cntxt = cont;
  +    }
  +    (*thd)->td = thethd;
  +    return APR_SUCCESS;
  +}
   
  
  
  
  1.4       +23 -3     apache-apr/apr/threadproc/win32/threadpriv.c
  
  Index: threadpriv.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/threadproc/win32/threadpriv.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- threadpriv.c	1999/07/02 19:09:26	1.3
  +++ threadpriv.c	1999/07/06 17:37:05	1.4
  @@ -56,6 +56,7 @@
   #include "threadproc.h"
   #include "apr_thread_proc.h"
   #include "apr_general.h"
  +#include "apr_lib.h"
   #include "apr_errno.h"
   #include "apr_portable.h"
   
  @@ -112,7 +113,26 @@
       }
   }
   
  -ap_os_threadkey_t *ap_get_os_threadkey(ap_key_t *key)
  +ap_status_t ap_get_os_threadkey(struct threadkey_t *key, ap_os_threadkey_t *thekey)
   {
  -    return &(key->key);
  -}
  \ No newline at end of file
  +    if (key == NULL) {
  +        return APR_ENOFILE;
  +    }
  +    thekey = &(key->key);
  +    return APR_SUCCESS;
  +}
  +
  +ap_status_t ap_put_os_threadkey(ap_context_t *cont, struct threadkey_t **key,
  +                                ap_os_threadkey_t *thekey)
  +{
  +    if (cont == NULL) {
  +        return APR_ENOCONT;
  +    }
  +    if ((*key) == NULL) {
  +        (*key) = (struct threadkey_t *)ap_palloc(cont, sizeof(struct threadkey_t));
  +        (*key)->cntxt = cont;
  +    }
  +    (*key)->key = *thekey;
  +    return APR_SUCCESS;
  +}           
  +
  
  
  
  1.3       +24 -5     apache-apr/apr/time/win32/time.c
  
  Index: time.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/time/win32/time.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- time.c	1999/07/02 19:09:28	1.2
  +++ time.c	1999/07/06 17:37:08	1.3
  @@ -111,10 +111,29 @@
       return APR_SUCCESS;
   }
   
  -ap_os_time_t *ap_get_os_time(ap_time_t *atime)
  +ap_status_t ap_get_os_time(struct atime_t *thetime, ap_os_time_t *atime)
   {
  -    if (atime->explodedtime == NULL) {
  -        ap_implode_time(atime);
  +    if (thetime == NULL) {
  +        return APR_ENOTIME;
       }
  -    return atime->explodedtime;
  -}
  \ No newline at end of file
  +    if (thetime->explodedtime == NULL) {
  +        ap_explode_time(thetime, APR_LOCALTIME); 
  +    }
  +    atime = thetime->explodedtime;
  +    return APR_SUCCESS;
  +}
  +
  +ap_status_t ap_put_os_time(ap_context_t *cont, struct atime_t **thetime, 
  +                           ap_os_time_t *atime)
  +{
  +    if (cont == NULL) {
  +        return APR_ENOCONT;
  +    }
  +    if (thetime == NULL) {
  +        (*thetime) = (struct atime_t *)ap_palloc(cont, sizeof(struct atime_t));
  +        (*thetime)->cntxt = cont;
  +    }
  +    (*thetime)->explodedtime = atime;
  +    return APR_SUCCESS;
  +}
  +