void IF_execCSvl(void) { char * f; f = getString(); if (f != NULL) { if (IF_execVar(f)) putBool(TRUE); else putBool(FALSE); free((void*)f); } else putBool(FALSE); }
void IF_execCSv(void) { char * f; f = getString(); if (f != NULL) { if (!IF_execVar(f)) { printf("%s - ",f); messErr(24); } free((void*)f); } }
int execLibNrpc(char *C) { int i; if (sigsetjmp(ENV_INT,1)) { return 0; } if (IF_execFct(C)) return 1; for (i=0;i<NBFonc;i++) { if (strcmp(C,Fonctions[i].nam) == 0) { switch (Fonctions[i].typ) { case 1: case 3: /* usr fct */ return 0; break; default: /* typ = 0 et 2 */ Fonctions[i].fct(); break; } return 1; } } if (IF_execVar(C)) return 1; /* VARS DOWN */ return 0; }
int execLib(char *C) { int i; void * A; short T=0; InExec = C; /* D_Trace(C); pas pour le moment */ if (sigsetjmp(ENV_INT,1)) { interInfos("execLib",C); return 1; } if (InstallOn) { switch (InstallOn) { case 1 : /* lib first */ A=libByName(C); if (A==VIDE) { A=fctByName(C); if (A!=VIDE) T=2; } else T=1; break; case 2 : /* user functions first */ A=fctByName(C); if (A==VIDE) { A=libByName(C); if (A!=VIDE) T=1; } else T=2; break; case 3 : /* variables only */ A=varByName(C); if (A!=VIDE) T=3; break; case 8 : /* df_init */ A=fctByName(C); updDynFct(A,0); break; case 9 : /* df_start */ A=fctByName(C); updDynFct(A,1); break; case 10 : /* df_stop */ A=fctByName(C); updDynFct(A,2); break; default : break; } _MODIF_FCT_INST_(A); _MODIF_FCT_TYP_(T); InstallOn=0; return 1; } if ((VARS==2) && (IF_execVar(C))) return 1; /* VARS UP */ if (IF_execFct(C)) return 1; for (i=0;i<NBFonc;i++) { /* printf("execLib : teste %s !\n", Fonctions[i].nam); */ if (strcmp(C,Fonctions[i].nam) == 0) { switch (Fonctions[i].typ) { case 1: if (fctEnCours) Fonctions[i].fct(); else messErr(13); break; case 2: if (fctEnCours) messErr(25); else Fonctions[i].fct(); break; case 3: /* usr fct */ break; default: /* typ = 0 */ if (fctEnCours) { if (strcmp(C,":") == 0) messErr(15); else { if (strcmp(C,"\"") == 0) Fonctions[i].fct(); else makeFct(T_LIB,(void*)Fonctions[i].fct); } } else Fonctions[i].fct(); break; } return 1; } } if ((VARS==1) && (IF_execVar(C))) return 1; /* VARS DOWN */ /* printf("execLib : appel putVal(%s)\n",C); */ return(putVal(C)); }