};
int cmdcodesize = ARRAYSIZE(cmdcodearray);
-int hashtabsize;
+int cmdtabsize;
CMDCODETAB **cmdtype_code, **code_type;
/* 命令と命令タイプからハッシュ値を生成する */
keys[1]->type = INT;
keys[1]->val.i = (int)(type & 070);
/* ハッシュ値を返す */
- return hash(2, keys, cmdcodesize);
+ return hash(2, keys, cmdtabsize);
}
/* 命令と命令タイプがキーのハッシュ表を作成する */
unsigned hashval;
int i;
- hashtabsize = cmdcodesize;
- cmdtype_code = malloc(cmdcodesize * sizeof(CMDCODETAB *));
+ cmdtabsize = cmdcodesize;
+ cmdtype_code = malloc(cmdtabsize * sizeof(CMDCODETAB *));
for(i = 0; i < cmdcodesize; i++) {
np = malloc(sizeof(CMDCODETAB));
if(np == NULL) {
{
int i;
CMDCODETAB *np, *nq;
- for(i = 0; i < cmdcodesize; i++){
+ for(i = 0; i < cmdtabsize; i++){
np = cmdtype_code[i];
while(np != NULL) {
nq = np->next;
keys[0]->type = INT;
keys[0]->val.i = (int)(code >> 8);
/* ハッシュ値を返す */
- return hash(1, keys, cmdcodesize);
+ return hash(1, keys, cmdtabsize);
}
/* 命令コードがキーのハッシュ表を作成する */
unsigned hashval;
int i;
- hashtabsize = cmdcodesize;
- code_type = malloc(cmdcodesize * sizeof(CMDCODETAB *));
+ cmdtabsize = hashtabsize(cmdcodesize);
+ code_type = malloc(cmdtabsize * sizeof(CMDCODETAB *));
for(i = 0; i < cmdcodesize; i++) {
if((np = malloc(sizeof(CMDCODETAB))) == NULL) {
setcerr(122, NULL); /* cannot create hash table */
{
int i;
CMDCODETAB *np, *nq;
- for(i = 0; i < cmdcodesize; i++){
+ for(i = 0; i < cmdtabsize; i++){
np = code_type[i];
while(np != NULL) {
nq = np->next;