cvs commit: apache-2.0/src/lib/apr/misc/beos misc.h

1999-12-07 Thread dreid
dreid   99/12/07 07:09:23

  Modified:src/lib/apr/misc/beos misc.h
  Log:
  Add apr_abort to BeOS.
  
  Revision  ChangesPath
  1.5   +1 -0  apache-2.0/src/lib/apr/misc/beos/misc.h
  
  Index: misc.h
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/misc/beos/misc.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- misc.h1999/11/20 22:05:07 1.4
  +++ misc.h1999/12/07 15:09:20 1.5
  @@ -71,6 +71,7 @@
   struct context_t {
   struct ap_pool_t *pool;
   void *prog_data;
  +int (*apr_abort)(int retcode);
   };
   
   #endif  /* ! MISC_H */
  
  
  


cvs commit: apache-2.0/src/lib/apr/misc/beos misc.h start.c

1999-10-08 Thread dreid
dreid   99/10/08 04:29:55

  Modified:src/lib/apr/misc/beos misc.h start.c
  Log:
  Continuing to bring the beos APR into line.
  
  Revision  ChangesPath
  1.3   +7 -0  apache-2.0/src/lib/apr/misc/beos/misc.h
  
  Index: misc.h
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/misc/beos/misc.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- misc.h1999/08/27 16:25:41 1.2
  +++ misc.h1999/10/08 11:29:54 1.3
  @@ -60,6 +60,13 @@
   #include "apr_file_io.h"
   #include "apr_errno.h"
   
  +typedef struct datastruct {
  +void *data;
  +char *key;
  +struct datastruct *next;
  +struct datastruct *prev;
  +} datastruct;
  +
   struct context_t {
   struct ap_pool_t *pool;
   void *prog_data;
  
  
  
  1.6   +41 -11apache-2.0/src/lib/apr/misc/beos/start.c
  
  Index: start.c
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/misc/beos/start.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- start.c   1999/10/04 16:37:00 1.5
  +++ start.c   1999/10/08 11:29:54 1.6
  @@ -63,7 +63,7 @@
   #include 
   #include 
   
  -ap_status_t ap_create_context(ap_context_t **newcont, ap_context_t *cont, 
void *data)
  +ap_status_t ap_create_context(struct context_t **newcont, struct context_t 
*cont)
   {
   ap_context_t *new;
   ap_pool_t *pool;
  @@ -87,12 +87,7 @@
   }
   
   new->pool = pool;
  -if (data == NULL && cont) {
  -new->prog_data = cont->prog_data;
  -}
  -else {
  -new->prog_data = data;
  -}
  +new->prog_data = NULL;

   *newcont = new;
   return APR_SUCCESS;
  @@ -104,19 +99,54 @@
   return APR_SUCCESS;
   }
   
  -ap_status_t ap_set_userdata(struct context_t *cont, void *data)
  +ap_status_t ap_set_userdata(struct context_t *cont, void *data, char *key,
  +ap_status_t (*cleanup) (void *))
   {
  +datastruct *dptr = NULL, *dptr2 = NULL;
   if (cont) { 
  -cont->prog_data = data;
  +dptr = cont->prog_data;
  +while (dptr) {
  +if (!strcmp(dptr->key, key))
  +break;
  +dptr2 = dptr;
  +dptr = dptr->next;
  +}
  +if (dptr == NULL) {
  +dptr = ap_palloc(cont, sizeof(datastruct));
  +dptr->next = dptr->prev = NULL;
  +dptr->key = strdup(key);
  +if (dptr2) {
  +dptr2->next = dptr;
  +dptr->prev = dptr2;
  +}
  +else {
  +cont->prog_data = dptr;
  +}
  +}
  +dptr->data = data;
  +ap_register_cleanup(cont, dptr->data, cleanup, cleanup);
   return APR_SUCCESS;
   }
   return APR_ENOCONT;
   }
   
  -ap_status_t ap_get_userdata(void **data, struct context_t *cont)
  +ap_status_t ap_get_userdata(void **data, struct context_t *cont, char *key)
   {
  +datastruct *dptr = NULL;
   if (cont) { 
  -(*data) = cont->prog_data;
  +dptr = cont->prog_data;
  +while (dptr) {
  +if (!strcmp(dptr->key, key)) {
  +break;
  +}
  +dptr = dptr->next;
  +}
  +if (dptr) {
  +(*data) = dptr->data;
  +}
  +else {
  +(*data) = NULL;
  +}
   return APR_SUCCESS;
   }
   return APR_ENOCONT;