static void handle_org(char *s) { taddr addr = parse_constexpr(&s); if (rorgmode) start_rorg(addr); else set_section(new_org(addr)); eol(s); }
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); }
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." ); } } }