X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=src%2Fassemble.c;h=5e18000aa39bc01200b77268eba2cd7f7d6d8057;hp=10ecb41dad3f65d668214cfd60cab7dd8a6492c8;hb=169407674e2df2da91b62a9d1c51d497dcce2bd3;hpb=ce897094478335caf357601548af1b06cbad1188 diff --git a/src/assemble.c b/src/assemble.c index 10ecb41..5e18000 100644 --- a/src/assemble.c +++ b/src/assemble.c @@ -747,11 +747,12 @@ bool assemblefile(const char *file, PASS pass) return (cerr->num == 0) ? true : false; } -void assemble(int filec, char *filev[], WORD adr) +bool assemble(int filec, char *filev[], WORD adr) { int i; PASS pass; WORD bp[filec]; + bool stat = false; asptr = malloc_chk(sizeof(ASPTR), "asptr"); /* アセンブル時のプロパティ用の領域確保 */ asptr->prog = malloc_chk(LABELSIZE + 1, "asptr.prog"); @@ -771,7 +772,8 @@ void assemble(int filec, char *filev[], WORD adr) fprintf(stdout, "\nAssemble %s (%d)\n", filev[i], pass); } /* ファイルをアセンブル */ - if(assemblefile(filev[i], pass) == false) { + stat = assemblefile(filev[i], pass); + if(stat == false) { goto asfin; } } @@ -787,6 +789,7 @@ asfin: freelabel(); /* ラベルハッシュ表を解放 */ FREE(asptr->prog); /* アセンブル時のプロパティを解放 */ FREE(asptr); + return stat; } /* assemble.hで定義された関数群 */