Changeset: ad4c60d6957e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ad4c60d6957e Modified Files: monetdb5/mal/mal_parser.c Branch: trails Log Message:
Merge with default diffs (43 lines): diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c --- a/monetdb5/mal/mal_parser.c +++ b/monetdb5/mal/mal_parser.c @@ -945,8 +945,11 @@ parseAtom(Client cntxt) tpe = parseTypeId(cntxt, TYPE_int); if( ATOMindex(modnme) >= 0) parseError(cntxt, "Atom redefinition\n"); - else - cntxt->curprg->def->errors = malAtomDefinition(modnme, tpe) ; + else { + if(cntxt->curprg->def->errors) + GDKfree(cntxt->curprg->def->errors); + cntxt->curprg->def->errors = malAtomDefinition(modnme, tpe); + } if( strcmp(modnme,"user")) cntxt->curmodule = fixModule(modnme); else cntxt->curmodule = cntxt->usermodule; @@ -1116,6 +1119,8 @@ fcnHeader(Client cntxt, int kind) cntxt->curprg = cntxt->backup; return 0; } + cntxt->curprg->def->errors = cntxt->backup->def->errors; + cntxt->backup->def->errors = 0; curPrg = cntxt->curprg; curBlk = curPrg->def; curInstr = getInstrPtr(curBlk, 0); @@ -1285,6 +1290,8 @@ parseCommandPattern(Client cntxt, int ki else insertSymbol(getModule(modnme), curPrg); chkProgram(cntxt->usermodule, curBlk); + if(cntxt->curprg->def->errors) + GDKfree(cntxt->curprg->def->errors); cntxt->curprg->def->errors = cntxt->backup->def->errors; cntxt->backup->def->errors = 0; cntxt->curprg = cntxt->backup; @@ -1521,7 +1528,6 @@ parseAssign(Client cntxt, int cntrl) curPrg = cntxt->curprg; curBlk = curPrg->def; - curInstr = newInstruction(curBlk, NULL, NULL); if((curInstr = newInstruction(curBlk, NULL, NULL)) == NULL) { parseError(cntxt, MAL_MALLOC_FAIL); return; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list