manoj       99/10/26 15:42:51

  Modified:    src      CHANGES
               src/include buff.h
               src/main buff.c
  Log:
  Error functions recorded with ap_bonerror now take a status code as an
  argument, so errno isn't needed.
  
  Revision  Changes    Path
  1.14      +3 -1      apache-2.0/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/CHANGES,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -d -u -r1.13 -r1.14
  --- CHANGES   1999/10/26 22:25:00     1.13
  +++ CHANGES   1999/10/26 22:42:33     1.14
  @@ -1,7 +1,9 @@
   Changes with Apache 2.0-dev
   
     *) ap_bflush and ap_bclose now return ap_status_t error codes instead
  -     of returning -1 and setting errno. [Manoj Kasichainula]
  +     of returning -1 and setting errno. And error functions recorded
  +     with ap_bonerror now take a status code as an argument. [Manoj
  +     Kasichainula]
   
     *) mod_speling runs in 2.0-dev now: a bug in readdir_r handling and
        interface adaption to APR functions did it. [Martin Kraemer]
  
  
  
  1.5       +5 -4      apache-2.0/src/include/buff.h
  
  Index: buff.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/buff.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- buff.h    1999/10/22 22:08:11     1.4
  +++ buff.h    1999/10/26 22:42:41     1.5
  @@ -128,7 +128,7 @@
   
   struct buff_struct {
       int flags;                       /* flags */
  -    int saved_errno;         /* saved errno */
  +    ap_status_t saved_errno; /* saved errno */
       unsigned char *inptr;    /* pointer to next location to read */
       int incnt;                       /* number of bytes left to read from 
input buffer;
                                 * always 0 if had a read error  */
  @@ -141,7 +141,7 @@
                                 * keep track of the #remaining bytes in the 
chunk
                                 * here
                                 */
  -    void (*error) (BUFF *fb, int op, void *data);
  +    void (*error) (BUFF *fb, int op, void *data, ap_status_t errnum);
       void *error_data;
       long int bytes_sent;     /* number of bytes actually written */
   
  @@ -177,8 +177,9 @@
   #define ap_bgetflag(fb, flag)        ((fb)->flags & (flag))
   
   /* Error handling */
  -API_EXPORT(void) ap_bonerror(BUFF *fb, void (*error) (BUFF *, int, void *),
  -                       void *data);
  +API_EXPORT(void) ap_bonerror(BUFF *fb,
  +                             void (*error) (BUFF *, int, void *, 
ap_status_t),
  +                             void *data);
   
   /* I/O */
   API_EXPORT(int) ap_bread(BUFF *fb, void *buf, int nbyte);
  
  
  
  1.18      +4 -5      apache-2.0/src/main/buff.c
  
  Index: buff.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/buff.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -d -u -r1.17 -r1.18
  --- buff.c    1999/10/26 22:25:01     1.17
  +++ buff.c    1999/10/26 22:42:46     1.18
  @@ -136,11 +136,9 @@
   
   static void doerror(BUFF *fb, int direction)
   {
  -    /* TODO: doerror should look at fb->saved_errno instead of errno */
  -    errno = fb->saved_errno;
       fb->flags |= (direction == B_RD ? B_RDERR : B_WRERR);
       if (fb->error != NULL)
  -     (*fb->error) (fb, direction, fb->error_data);
  +     (*fb->error) (fb, direction, fb->error_data, fb->saved_errno);
   }
   
   /* Buffering routines */
  @@ -901,8 +899,9 @@
       return k;
   }
   
  -API_EXPORT(void) ap_bonerror(BUFF *fb, void (*error) (BUFF *, int, void *),
  -                       void *data)
  +API_EXPORT(void) ap_bonerror(BUFF *fb,
  +                             void (*error) (BUFF *, int, void *, 
ap_status_t),
  +                             void *data)
   {
       fb->error = error;
       fb->error_data = data;
  
  
  

Reply via email to