#include"os_std.h" #include"const.h" #include"vla.h" #include"feedback2.h" typedef struct { char *Stack; int Depth; } Cfeedback_; char *feedback_Mask; Cfeedback_ Feedbk; static int feedback_init = true; void feedback_Init(void) { int a; Cfeedback_ *I=&Feedbk; if(feedback_init) { feedback_init=false; vla_malloc(I->Stack,char,FB_total); I->Depth=0; feedback_Mask = I->Stack; for(a=0;aStack); } /* below we'll presume that any standard feedback on the feedback module itself will be effected at the Python level, since feedback levels will be changed as a matter of course inside of PyMOL in order to quietly perform complex actions. */ void feedback_Push(void) { Cfeedback_ *I=&Feedbk; int a; I->Depth++; vla_check(I->Stack,char,(I->Depth+1)*FB_total); feedback_Mask=I->Stack+(I->Depth*FB_total); for(a=0;aDepth) { I->Depth--; feedback_Mask=I->Stack+(I->Depth*FB_total); } PRINTFD(FB_feedback_) " feedback: pop\n" ENDFD; } void feedback_SetMask(unsigned int sysmod,unsigned char mask) { int a; if((sysmod>0)&&(sysmod0)&&(sysmod0)&&(sysmod