jwoolley    2003/08/12 18:51:29

  Modified:    include  apr_ring.h
  Log:
  ha, then i go to try to use the thing and find out what APR_RING_CHECK_ELEM()
      was for in the first place.
  
  Revision  Changes    Path
  1.12      +17 -2     apr/include/apr_ring.h
  
  Index: apr_ring.h
  ===================================================================
  RCS file: /home/cvs/apr/include/apr_ring.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -d -u -r1.11 -r1.12
  --- apr_ring.h        13 Aug 2003 01:46:12 -0000      1.11
  +++ apr_ring.h        13 Aug 2003 01:51:29 -0000      1.12
  @@ -517,8 +517,12 @@
        fprintf(stderr, "*** ring check end\n");                        \
       } while (0)
   
  -#define APR_RING_CHECK_CONSISTENCY(hp, elem, link) do {                      
\
  -     struct elem *start = APR_RING_SENTINEL(hp, elem, link);         \
  +#define APR_RING_CHECK_CONSISTENCY(hp, elem, link)                   \
  +     APR_RING_CHECK_ELEM_CONSISTENCY(APR_RING_SENTINEL(hp, elem, link),\
  +                                     elem, link)
  +
  +#define APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link) do {         \
  +     struct elem *start = (ep);                                      \
        struct elem *here = start;                                      \
        do {                                                            \
            assert(APR_RING_PREV(APR_RING_NEXT(here, link), link) == here); \
  @@ -567,6 +571,17 @@
    * @param msg  Descriptive message
    */
   #define APR_RING_CHECK_ELEM(ep, elem, link, msg)
  +/**
  + * Loops around a ring, starting with the given element, and checks all
  + * the pointers for consistency.  Pops an assertion if any inconsistency
  + * is found.  Same idea as APR_RING_CHECK_ELEM() except that it's silent
  + * if all is well.
  + *   (This is a no-op unless APR_RING_DEBUG is defined.)
  + * @param ep   The element
  + * @param elem The name of the element struct
  + * @param link The name of the APR_RING_ENTRY in the element struct
  + */
  +#define APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link)
   #endif
   
   /** @} */ 
  
  
  

Reply via email to