- for(i = 0; i < cmdcodesize; i++) {
- np = malloc(sizeof(CMDCODETAB *));
- if(np == NULL) {
- setcerr(122, NULL); /* cannot create hash table */
- return false;
- }
- /* ハッシュ値の生成 */
- hashval = hash_cmdtype((&cmdcodearray[i])->cmd, (&cmdcodearray[i])->type);
- /* ハッシュ表に値を追加 */
- np->next = cmdtype_code[hashval];
- cmdtype_code[hashval] = np;
- np->cca = &(cmdcodearray[i]);
+ cmdtabsize = comet2cmdsize;
+ cmdtype_code = calloc_chk(cmdtabsize, sizeof(CMDTAB *), "cmdtype_code");
+ for(i = 0; i < comet2cmdsize; i++) {
+ p = malloc_chk(sizeof(CMDTAB), "cmdtype_code.p");
+ hashval = hash_cmdtype(comet2cmd[i].name, comet2cmd[i].type); /* ハッシュ値の生成 */
+ p->next = cmdtype_code[hashval]; /* ハッシュ表に値を追加 */
+ p->cmd = &comet2cmd[i];
+ cmdtype_code[hashval] = p;