Exemple #1
0
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);
}
Exemple #2
0
void IF_execCSv(void)
{
char * f;
    f = getString();
    if (f != NULL) {
       if (!IF_execVar(f)) {
          printf("%s - ",f); messErr(24);
       }
       free((void*)f);
    }
}
Exemple #3
0
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;
}
Exemple #4
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));
}