X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fmagic.c;fp=src%2Fmagic.c;h=0000000000000000000000000000000000000000;hb=0b85f1dd5993e2ed111ec2ba13bbbb4ebda06ada;hp=a385b9636bc185655c1dad10b6cee7061ddd7546;hpb=08f8444e2ae5480eea1cf7e2c1e2eb57f46152db;p=rodin%2Fchimara.git diff --git a/src/magic.c b/src/magic.c deleted file mode 100644 index a385b96..0000000 --- a/src/magic.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include "glk.h" -#include "magic.h" - -/* The "magic" mechanism was stolen from Evin Robertson's GtkGlk. */ - -static gchar * -magic_to_string(glui32 magic) -{ - switch(magic) - { - case MAGIC_WINDOW: - return "winid_t"; - case MAGIC_STREAM: - return "strid_t"; - case MAGIC_FILEREF: - return "frefid_t"; - case MAGIC_SCHANNEL: - return "schanid_t"; - default: - g_return_val_if_reached("unknown"); - } -} - -/* Internal function: check the object's magic number to make sure it is the - right type, and not freed. */ -gboolean -magic_is_valid_or_null(const glui32 goodmagic, const glui32 realmagic, const gchar *function) -{ - if(realmagic != MAGIC_NULL) - { - if(realmagic != goodmagic) - { - if(realmagic == MAGIC_FREE) - g_critical("%s: Using a freed object", function); - else - g_critical( "%s: %s object not a %s", function, magic_to_string(realmagic), magic_to_string(goodmagic) ); - return FALSE; - } - } - return TRUE; -} - - -/* Internal function: check the object's magic number to make sure it is - not NULL, the right type, and not freed. */ -gboolean -magic_is_valid(const void *obj, const glui32 goodmagic, const glui32 realmagic, const gchar *function) -{ - if(obj == NULL) - { - g_critical( "%s: NULL %s pointer", function, magic_to_string(goodmagic) ); - return FALSE; - } - return magic_is_valid_or_null(goodmagic, realmagic, function); -}