- cmdtabsize = cmdcodesize;
- cmdtype_code = malloc(cmdtabsize * sizeof(CMDCODETAB *));
- for(i = 0; i < cmdcodesize; i++) {
- if((np = malloc(sizeof(CMDCODETAB))) == 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++) {
+ hashval = hash_cmdtype(comet2cmd[i].name, comet2cmd[i].type); /* ハッシュ値の生成 */
+ p = malloc_chk(sizeof(CMDTAB), "cmdtype_code");
+ p->cmd = &comet2cmd[i];
+ p->next = cmdtype_code[hashval]; /* ハッシュ表に値を追加 */
+ cmdtype_code[hashval] = p;