- return NULL;
- }
- /* 命令を取得 */
- sepp = p + strcspn(p, " \t\n");
- *sepp = '\0';
- cmdl->cmd = strdup_chk(p, "cmdl.cmd");
- p = sepp + 1;
- while(*p == ' ' || *p == '\t') {
- p++;
- }
- /* オペランドを取得 */
- cmdl->opd = malloc_chk(sizeof(OPD), "cmdl.opd");
- /* 改行かタブまでの文字列を取得。
- 「'」で囲まれた文字列に含まれる場合があるため、空白は無視 */
- if((sepp = p + strcspn(p, "\t\n")) > p) {
- *sepp = '\0';
- cmdl->opd = opdtok(p);
- } else {
- cmdl->opd->opdc = 0;