#include <global.h>#include "pike_memory.h"Go to the source code of this file.
Defines | |
| #define | PTR_TO_INT(PTR) ((size_t) ((char *) (PTR) - (char *) NULL)) |
| #define | OFFSETOF(str_type, field) PTR_TO_INT(& (((struct str_type *)NULL)->field)) |
| #define | BASEOF(ptr, str_type, field) ((struct str_type *)((char*)ptr - OFFSETOF(str_type, field))) |
| #define | ALIGNOF(X) OFFSETOF({ char ignored_; X fooo_;}, fooo_) |
| #define | NELEM(a) (sizeof (a) / sizeof ((a)[0])) |
| #define | ALLOC_STRUCT(X) ( (struct X *)xalloc(sizeof(struct X)) ) |
| #define | MINIMUM(X, Y) ((X)<(Y)?(X):(Y)) |
| #define | MAXIMUM(X, Y) ((X)>(Y)?(X):(Y)) |
| #define | is8bitalnum(X) (Pike_is8bitalnum_vector[((unsigned)(X))&0xff] == '1') |
| #define | isidchar(X) is8bitalnum(X) |
| #define | isgraph(X) (ispunct(X) || isupper(X) || islower(X) || isdigit(X)) |
| #define | DO_ALIGN(X, Y) (((size_t)(X)+((Y)-1)) & -(Y)) |
| #define | CONSTANT_STRLEN(X) (sizeof(X) - sizeof("")) |
| #define | SET_NEXT_AND_FREE(p, free_item) |
| #define | FREE_AND_GET_REFERENCED(p, item_type, free_item) |
| #define | DOUBLELINK(first_object, o) |
| #define | DOUBLEUNLINK(first_object, o) |
| #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) |
| #define | COMMA , |
Functions | |
| PMOD_EXPORT int | my_log2 (size_t x) |
Variables | |
| PMOD_EXPORT const char | Pike_is8bitalnum_vector [] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: do { \ debug_malloc_touch(o); \ o->next=first_object; \ o->prev=0; \ if(first_object) first_object->prev=o; \ first_object=o; \ }while(0) |
|
|
Value: do{ \ debug_malloc_touch(o); \ if(o->prev) { \ o->prev->next=o->next; \ }else { \ DO_IF_DEBUG( \ if(first_object != o) { \ describe(o); \ Pike_fatal("Linked in wrong list!\n"); \ } \ ) \ first_object=o->next; \ } \ \ if(o->next) o->next->prev=o->prev; \ }while(0) |
|
|
Value: do { \ item_type *next; \ while (1) { \ if (p->refs > 1) { \ free_item(p); \ break; \ } \ if (!(next = p->next)) { \ free_item(p); \ p = 0; \ break; \ } \ add_ref(next); \ free_item(p); \ p = next; \ } \ } while (0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: do{ \ next=p->next; \ while(p->refs == 1 && (next=p->next)) \ { \ add_ref(next); \ free_item(p); \ p=next; \ } \ free_item(p); \ }while(0) |
|
|
|
|
|
|
1.3.9.1