From 65895a2a383738d6edf0d82b428483065d672305 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 11 Mar 2012 17:41:19 +0000 Subject: improve confusing macro GET_ACF_FLAG_PTR - was operating on `type` which wasnt an argument to the macro. - was calling return within the macro (makes code harder to follow). --- .../editors/animation/anim_channels_defines.c | 95 +++++++++++----------- 1 file changed, 46 insertions(+), 49 deletions(-) (limited to 'source/blender/editors/animation/anim_channels_defines.c') diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c index 9e3630aea67..81513eb0842 100644 --- a/source/blender/editors/animation/anim_channels_defines.c +++ b/source/blender/editors/animation/anim_channels_defines.c @@ -87,12 +87,9 @@ #define ANIM_CHAN_NAME_SIZE 256 /* macros used for type defines */ - /* get the pointer used for some flag */ -#define GET_ACF_FLAG_PTR(ptr) \ - { \ - *type= sizeof((ptr)); \ - return &(ptr); \ - } + +/* get the pointer used for some flag and return */ +#define GET_ACF_FLAG_PTR(ptr, type) ((*(type) = sizeof((ptr))), &(ptr)) /* *********************************************** */ @@ -453,7 +450,7 @@ static void *acf_summary_setting_ptr(bAnimListElem *ale, int setting, short *typ bDopeSheet *ads= &saction->ads; /* return pointer to DopeSheet's flag */ - GET_ACF_FLAG_PTR(ads->flag); + return GET_ACF_FLAG_PTR(ads->flag, type); } else { /* can't return anything useful - unsupported */ @@ -547,15 +544,15 @@ static void *acf_scene_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_SELECT: /* selected */ - GET_ACF_FLAG_PTR(scene->flag); + return GET_ACF_FLAG_PTR(scene->flag, type); case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(scene->flag); + return GET_ACF_FLAG_PTR(scene->flag, type); case ACHANNEL_SETTING_MUTE: /* mute (only in NLA) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (scene->adt) - GET_ACF_FLAG_PTR(scene->adt->flag) + return GET_ACF_FLAG_PTR(scene->adt->flag, type); else return NULL; @@ -694,15 +691,15 @@ static void *acf_object_setting_ptr(bAnimListElem *ale, int setting, short *type switch (setting) { case ACHANNEL_SETTING_SELECT: /* selected */ - GET_ACF_FLAG_PTR(ob->flag); + return GET_ACF_FLAG_PTR(ob->flag, type); case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(ob->nlaflag); // xxx + return GET_ACF_FLAG_PTR(ob->nlaflag, type); // xxx case ACHANNEL_SETTING_MUTE: /* mute (only in NLA) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (ob->adt) - GET_ACF_FLAG_PTR(ob->adt->flag) + return GET_ACF_FLAG_PTR(ob->adt->flag, type); else return NULL; @@ -835,7 +832,7 @@ static void *acf_group_setting_ptr(bAnimListElem *ale, int UNUSED(setting), shor bActionGroup *agrp= (bActionGroup *)ale->data; /* all flags are just in agrp->flag for now... */ - GET_ACF_FLAG_PTR(agrp->flag); + return GET_ACF_FLAG_PTR(agrp->flag, type); } /* group type define */ @@ -922,7 +919,7 @@ static void *acf_fcurve_setting_ptr(bAnimListElem *ale, int UNUSED(setting), sho FCurve *fcu= (FCurve *)ale->data; /* all flags are just in agrp->flag for now... */ - GET_ACF_FLAG_PTR(fcu->flag); + return GET_ACF_FLAG_PTR(fcu->flag, type); } /* fcurve type define */ @@ -997,13 +994,13 @@ static void *acf_fillactd_setting_ptr(bAnimListElem *ale, int setting, short *ty switch (setting) { case ACHANNEL_SETTING_SELECT: /* selected */ if (adt) { - GET_ACF_FLAG_PTR(adt->flag); + return GET_ACF_FLAG_PTR(adt->flag, type); } else return NULL; case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(act->flag); + return GET_ACF_FLAG_PTR(act->flag, type); default: /* unsupported */ return NULL; @@ -1082,7 +1079,7 @@ static void *acf_filldrivers_setting_ptr(bAnimListElem *ale, int setting, short switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(adt->flag); + return GET_ACF_FLAG_PTR(adt->flag, type); default: /* unsupported */ return NULL; @@ -1152,13 +1149,13 @@ static void *acf_dsmat_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(ma->flag); + return GET_ACF_FLAG_PTR(ma->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (ma->adt) - GET_ACF_FLAG_PTR(ma->adt->flag) + return GET_ACF_FLAG_PTR(ma->adt->flag, type); else return NULL; @@ -1229,13 +1226,13 @@ static void *acf_dslam_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(la->flag); + return GET_ACF_FLAG_PTR(la->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (la->adt) - GET_ACF_FLAG_PTR(la->adt->flag) + return GET_ACF_FLAG_PTR(la->adt->flag, type); else return NULL; @@ -1313,13 +1310,13 @@ static void *acf_dstex_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(tex->flag); + return GET_ACF_FLAG_PTR(tex->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (tex->adt) - GET_ACF_FLAG_PTR(tex->adt->flag) + return GET_ACF_FLAG_PTR(tex->adt->flag, type); else return NULL; @@ -1390,13 +1387,13 @@ static void *acf_dscam_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(ca->flag); + return GET_ACF_FLAG_PTR(ca->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (ca->adt) - GET_ACF_FLAG_PTR(ca->adt->flag) + return GET_ACF_FLAG_PTR(ca->adt->flag, type); else return NULL; @@ -1477,13 +1474,13 @@ static void *acf_dscur_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(cu->flag); + return GET_ACF_FLAG_PTR(cu->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (cu->adt) - GET_ACF_FLAG_PTR(cu->adt->flag) + return GET_ACF_FLAG_PTR(cu->adt->flag, type); else return NULL; @@ -1554,13 +1551,13 @@ static void *acf_dsskey_setting_ptr(bAnimListElem *ale, int setting, short *type switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(key->flag); + return GET_ACF_FLAG_PTR(key->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (key->adt) - GET_ACF_FLAG_PTR(key->adt->flag) + return GET_ACF_FLAG_PTR(key->adt->flag, type); else return NULL; @@ -1631,13 +1628,13 @@ static void *acf_dswor_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(wo->flag); + return GET_ACF_FLAG_PTR(wo->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (wo->adt) - GET_ACF_FLAG_PTR(wo->adt->flag) + return GET_ACF_FLAG_PTR(wo->adt->flag, type); else return NULL; @@ -1708,13 +1705,13 @@ static void *acf_dspart_setting_ptr(bAnimListElem *ale, int setting, short *type switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(part->flag); + return GET_ACF_FLAG_PTR(part->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (part->adt) - GET_ACF_FLAG_PTR(part->adt->flag) + return GET_ACF_FLAG_PTR(part->adt->flag, type); else return NULL; @@ -1785,13 +1782,13 @@ static void *acf_dsmball_setting_ptr(bAnimListElem *ale, int setting, short *typ switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(mb->flag); + return GET_ACF_FLAG_PTR(mb->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (mb->adt) - GET_ACF_FLAG_PTR(mb->adt->flag) + return GET_ACF_FLAG_PTR(mb->adt->flag, type); else return NULL; @@ -1862,13 +1859,13 @@ static void *acf_dsarm_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(arm->flag); + return GET_ACF_FLAG_PTR(arm->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (arm->adt) - GET_ACF_FLAG_PTR(arm->adt->flag) + return GET_ACF_FLAG_PTR(arm->adt->flag, type); else return NULL; @@ -1950,13 +1947,13 @@ static void *acf_dsntree_setting_ptr(bAnimListElem *ale, int setting, short *typ switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(ntree->flag); + return GET_ACF_FLAG_PTR(ntree->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (ntree->adt) - GET_ACF_FLAG_PTR(ntree->adt->flag) + return GET_ACF_FLAG_PTR(ntree->adt->flag, type); else return NULL; @@ -2027,13 +2024,13 @@ static void *acf_dsmesh_setting_ptr(bAnimListElem *ale, int setting, short *type switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(me->flag); + return GET_ACF_FLAG_PTR(me->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (me->adt) - GET_ACF_FLAG_PTR(me->adt->flag) + return GET_ACF_FLAG_PTR(me->adt->flag, type); else return NULL; @@ -2104,13 +2101,13 @@ static void *acf_dslat_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(lt->flag); + return GET_ACF_FLAG_PTR(lt->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (lt->adt) - GET_ACF_FLAG_PTR(lt->adt->flag) + return GET_ACF_FLAG_PTR(lt->adt->flag, type); else return NULL; @@ -2181,13 +2178,13 @@ static void *acf_dsspk_setting_ptr(bAnimListElem *ale, int setting, short *type) switch (setting) { case ACHANNEL_SETTING_EXPAND: /* expanded */ - GET_ACF_FLAG_PTR(spk->flag); + return GET_ACF_FLAG_PTR(spk->flag, type); case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */ if (spk->adt) - GET_ACF_FLAG_PTR(spk->adt->flag) + return GET_ACF_FLAG_PTR(spk->adt->flag, type); else return NULL; @@ -2296,7 +2293,7 @@ static void *acf_shapekey_setting_ptr(bAnimListElem *ale, int setting, short *ty case ACHANNEL_SETTING_SELECT: /* selected */ case ACHANNEL_SETTING_MUTE: /* muted */ case ACHANNEL_SETTING_PROTECT: /* protected */ - GET_ACF_FLAG_PTR(kb->flag) + return GET_ACF_FLAG_PTR(kb->flag, type); default: /* unsupported */ return NULL; @@ -2375,7 +2372,7 @@ static void *acf_gpd_setting_ptr(bAnimListElem *ale, int UNUSED(setting), short bGPdata *gpd= (bGPdata *)ale->data; /* all flags are just in gpd->flag for now... */ - GET_ACF_FLAG_PTR(gpd->flag); + return GET_ACF_FLAG_PTR(gpd->flag, type); } /* gpencil datablock type define */ @@ -2464,7 +2461,7 @@ static void *acf_gpl_setting_ptr(bAnimListElem *ale, int UNUSED(setting), short bGPDlayer *gpl= (bGPDlayer *)ale->data; /* all flags are just in agrp->flag for now... */ - GET_ACF_FLAG_PTR(gpl->flag); + return GET_ACF_FLAG_PTR(gpl->flag, type); } /* grease pencil layer type define */ -- cgit v1.2.3