Ejemplo n.º 1
0
bool Load(const char *filename)
{
  static char fileName[stringsize] = "";
  if(filename) strncat(strcpy(fileName, ""), filename, stringsize-1);
  if(strlen(fileName) == 0)
    return False;
  else if(seterror()==0)
  {
    initstack();
    unlockmem();
    inithashtable();
    lockmem();
    initlex();
    initlib();
    initsyslib();
    initmodify();
    parsefile(inipath);
    parsefile(fileName);
    checkdefinitions();
    modify_definitions();
    lockmem();
    if (gettemplate("main")->tag == FUNC)
    {
      Interpret("main");
    }
    return True;
  }
  else
  {
    initstack();
    unlockmem();
    inithashtable();
    lockmem();
    initlex();
    initlib();
    initsyslib();
    initmodify();
    parsefile(inipath);
    checkdefinitions();
    modify_definitions();
    lockmem();
    return False;
  }
}
Ejemplo n.º 2
0
static int h_nscache6(int argc, unsigned char **argv){
  int res;

	res = atoi((char *)argv[1]);
	if(res < 256) {
		fprintf(stderr, "Invalid NS cache size: %d\n", res);
		return 1;
	}
	if(inithashtable(&dns6_table, (unsigned)res)){
		fprintf(stderr, "Failed to initialize NS cache\n");
		return 2;
	}
	return 0;
}
Ejemplo n.º 3
0
void CreateInterpreter(void)
{
  if(seterror() == 0)
  {
    Write(BANNER);
    createstack();
    createhashtable();
    createIO();
    createmem(atol(GetOption("MemorySize")));
    initstack();
    inithashtable();
    lockmem();
    initlex();
    initlib();
    initsyslib();
    initmodify();
    parsefile(inipath);
    checkdefinitions();
    modify_definitions();
    lockmem();
  }
  else
    exit(1);
}
Ejemplo n.º 4
0
int main(int argc,char *argv[])
{ 

  Allinit();
  S_BOARD pos[1];
  S_SEARCHINFO info[1];
  info->quit = FALSE;
  info->depth = SETDEPTH;
  pos->hashtable->ptable=NULL;
  inithashtable(pos->hashtable,64);
  setbuf(stdin,NULL);
  setbuf(stdout,NULL);

  int argnum =0;

  for(argnum = 0; argnum < argc; argnum++)
  {
    if(strncmp(argv[argnum],"NoBook",6)==0)
    {
      engineoptions->usebook = FALSE;
      printf("Book Off\n");
    }
  }

  printf("Welcome to abhi_engine! type cons for console mode ...\n");
  char line[256];

  while(TRUE)
  {
    memset(line,0,sizeof(line));
    fflush(stdout);
    if(!fgets(line,256,stdin))
      continue;
    if(line[0]=='\n')
      continue;
    if(!strncmp(line,"uci",3))
    {
      uci_loop(pos,info);
      if(info->quit == TRUE)
        break;
      continue;
    }
    else if(!strncmp(line,"xboard",6))
    {
        xboard_loop(pos,info);
        if(info->quit == TRUE)
          break;
        continue;
    }
    else if(!strncmp(line,"cons",4))
    {
      console_loop(pos,info);
      if(info->quit == TRUE)
        break;
      continue;
    }
    else if(!strncmp(line,"quit",4))
      break;
  }
  free(pos->hashtable->ptable);
  cleanpolybook();
  
  return 0;
}