Ejemplo n.º 1
0
Archivo: syntax.c Proyecto: kusma/vasm
static void handle_org(char *s)
{
  taddr addr = parse_constexpr(&s);

  if (rorgmode)
    start_rorg(addr);
  else
    set_section(new_org(addr));
  eol(s);
}
Ejemplo n.º 2
0
Archivo: syntax.c Proyecto: ezrec/vasm
static void handle_org(char *s)
{
  if (*s == current_pc_char) {    /*  "* = * + <expr>" reserves bytes */
    s = skip(s+1);
    if (*s == '+') {
      add_atom(0,new_space_atom(parse_expr_tmplab(&s),1,0));
    }
    else {
      syntax_error(18);  /* syntax error */
      return;
    }
  }
  else {
    new_org(parse_constexpr(&s));
  }
  eol(s);
}
Ejemplo n.º 3
0
Archivo: org.c Proyecto: verias/SRMud
void load_org()
{
	ORGANIZATION *pRlg;
	FILE *fp, *rList;
	char *word, *string;
	char buf[MSL];
//	AREA_DATA *pArea;
	int rank, iClass;

	if(( rList = fopen(ORG_LIST,"r" )) == NULL )
	{	log_string("Org_list not there. No organizations!");
		return;
	}

	
	for( word = fread_word(rList); str_cmp(word, "$" ); word = fread_word(rList) )
	{	sprintf(buf, "%s%s", ORG_DIR, word);
		if((fp = fopen(buf,"r")) == NULL )
		{	log_string("organization file missing.");
			continue;
		}
		rank = 0; iClass = rank;
		for(string = fread_word(fp); str_cmp(word, "$" ); word = fread_word(fp) )
		{
			if(!str_cmp(string,"Gold"))
			{
				KEY(pRlg->gold, fread_number(fp));
			}

			if(!str_cmp(string,"City"))
			{
				KEY(pRlg->city, fread_number(fp));
			}

			if(!str_cmp(string,"Clan"))
			{
				KEY(pRlg->clan, fread_number(fp));
			}

			if(!str_cmp(string,"Guild"))
			{
				KEY(pRlg->guild, fread_number(fp));
			}

			if(!str_cmp(string, "Name" ) )
			{
				pRlg = new_org();
				KEYS(pRlg->name, fread_string(fp) );
				pRlg->next = org_list;
				org_list = pRlg;
				continue;
			}
			if(!str_cmp(string,"File"))
			{
				KEYS(pRlg->filename, fread_string(fp));
				continue;
			}
			if(!str_cmp(string, "Patron" ) )
			{
				KEYS(pRlg->patron, fread_string(fp) );
				continue;
			}
			if(!str_cmp(string, "Ranks" ) )
			{
				
				for(rank = 0; rank < MAX_RELG_RANK ; rank++ )
				{
				KEYS(pRlg->rank[rank], fread_string(fp) );
						}
				continue;
			}
			log_string("Invalid string in Organization." );
		}
	}
}