X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftoken.c;h=074b6c41b2e2de365d5cbdf27544adcff4b09733;hb=8b76a2371ab7fc325f11b9164a73e899f98072f0;hp=984fc5a9afd7ac61fd412c1d1a9d6eb8d5e91f03;hpb=b90798d778c10ee358a852e4b8e69fd494bcf10f;p=YACASL2.git diff --git a/src/token.c b/src/token.c index 984fc5a..074b6c4 100644 --- a/src/token.c +++ b/src/token.c @@ -125,7 +125,7 @@ CMDLINE *linetok(const char *line) cmdl->label = malloc_chk(LABELSIZE + 1, "cmdl.label"); /* ラベルの取得。行の先頭が空白またはタブの場合、ラベルは空 */ if((sepp = p + strcspn(p, " \t\n")) == p){ - cmdl->label = '\0'; + *(cmdl->label) = '\0'; } else { /* ラベルを取得 */ *sepp = '\0'; /* 文字列が長すぎる場合はエラー */ @@ -141,9 +141,10 @@ CMDLINE *linetok(const char *line) } /* 命令とオペランドの取得 */ if(*p == '\n' || *p == '\0') { /* 命令がない場合は、終了 */ - if(cmdl->label != '\0') { /* ラベルが定義されていて命令がない場合はエラー */ + if(*(cmdl->label) != '\0') { /* ラベルが定義されていて命令がない場合はエラー */ setcerr(105, ""); /* no command in the line */ } + FREE(cmdl->label); FREE(cmdl); } else { /* 命令の取得 */