/* Strip the indirection layer. */ #define RC_CHK_ACCESS(object) object->orig
/* Frees the object and the indirection layer. */ #define RC_CHK_FREE(object) \ do { \
zfree(&object->orig); \
free(object); \
} while(0)
/* A get operation adding the indirection layer. */ #define RC_CHK_GET(result, object) ADD_RC_CHK(result, (object ? object->orig : NULL))
/* A put operation removing the indirection layer. */ #define RC_CHK_PUT(object) \ do { \ if (object) { \
object->orig = NULL; \
free(object); \
} \
} while(0)
/* Pointer equality when the indirection may or may not be there. */ #define RC_CHK_EQUAL(object1, object2) (object1 == object2 || \
(object1 && object2 && object1->orig == object2->orig))
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.