All pastes #570754 Raw Edit

Untitled

public text v1 · immutable
·published 2007-06-16 21:14 UTC
rendered paste body
// -------------------------------------------------------------------------------------------------------------------------------------
// Function:    AllenVM_CPU_BASE_TRY();
// Purpose:     Try a given expression.
// Returns:     0/1 wether the expression is factible.
// -------------------------------------------------------------------------------------------------------------------------------------

static int AllenVM_CPU_BASE_TRY(struct AllenInterp *i, int argc, char **argv, void *pd) {
 if(argc != 2 && argc != 4)                 return AllenVM_CPU_Error(i,argv[0]);         // Check parameters.
 if(argc == 4 && strcmp(argv[2],TBASE_CTH)) return AllenVM_CPU_Error(i,argv[0]);         // Check if there is catch.
 
 char buf[TBASE_BSIZE]; register int c;                                                  // Buffer and parameters.
 if((c = AllenVM_InterpEval(i,argv[1])) != Allen_VM_OK)                                  // Evaluate the expression.
  if(argc==4) c = AllenVM_InterpEval(i,argv[3]);                                         // Look for exceptions.
                                                   
 snprintf(buf,TBASE_BSIZE,"%f",(float) c);                                               // Copy result to buffer as float.
 AllenVM_InterpSetResult(i,buf);                                                         // Set interpreter result.
 return Allen_VM_OK;                                                                     // Everything ok.   
}