pike.git / src / pike_macros.h

version» Context lines:

pike.git/src/pike_macros.h:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/      /* -  * $Id: pike_macros.h,v 1.26 2001/07/22 21:36:14 mast Exp $ +  * $Id: pike_macros.h,v 1.27 2001/10/06 12:04:08 hubbe Exp $    */   #ifndef MACROS_H   #define MACROS_H      #include <global.h>      #ifdef HAVE_SYS_PARAM_H   #include <sys/param.h>   #endif   
pike.git/src/pike_macros.h:94:    p = 0; \    break; \    } \    add_ref(next); \    free_item(p); \    p = next; \    } \   } while (0)      #define DOUBLELINK(first_object, o) do { \ +  debug_malloc_touch(o); \    o->next=first_object; \    o->prev=0; \    if(first_object) first_object->prev=o; \    first_object=o; \   }while(0)      #define DOUBLEUNLINK(first_object,o) do{ \ -  +  debug_malloc_touch(o); \    if(o->prev) { \    o->prev->next=o->next; \    }else { \    DO_IF_DEBUG( \ -  if(first_object != o) \ +  if(first_object != o) { \ +  describe(o); \    fatal("Linked in wrong list!\n"); \ -  +  } \    ) \    first_object=o->next; \    } \    \    if(o->next) o->next->prev=o->prev; \   }while(0)         #define PIKE_XCONCAT(X,Y) PIKE_CONCAT(X,Y)   #define PIKE_XCONCAT3(X,Y,Z) PIKE_CONCAT(X,Y,Z)   #define PIKE_XCONCAT4(X,Y,Z,Q) PIKE_CONCAT(X,Y,Z,Q)      /* Useful to get a literal comma in an argument to a macro. */   #define COMMA ,      /* Needed for fsort_template.h */   PMOD_EXPORT int my_log2(size_t x);      #endif