1
0
forked from GitHub/gf-core

various small bugfixes

This commit is contained in:
krangelov
2021-12-01 13:56:14 +01:00
parent 8e19b7d31c
commit 0562d3fbdb
2 changed files with 11 additions and 2 deletions

View File

@@ -63,6 +63,13 @@ void pgf_symbol_free(PgfSymbol sym)
PgfDB::free(sym_kp); PgfDB::free(sym_kp);
break; break;
} }
case PgfSymbolBIND::tag:
case PgfSymbolSOFTBIND::tag:
case PgfSymbolNE::tag:
case PgfSymbolSOFTSPACE::tag:
case PgfSymbolCAPIT::tag:
case PgfSymbolALLCAPIT::tag:
break;
default: default:
PgfDB::free(ref<void>::untagged(sym)); PgfDB::free(ref<void>::untagged(sym));
} }
@@ -87,7 +94,8 @@ void PgfConcrLin::release(ref<PgfConcrLin> lin)
for (size_t i = 0; i < lin->res->len; i++) { for (size_t i = 0; i < lin->res->len; i++) {
ref<PgfPResult> res = *vector_elem(lin->res, i); ref<PgfPResult> res = *vector_elem(lin->res, i);
PgfDB::free(res->vars); if (res->vars != 0)
PgfDB::free(res->vars);
PgfDB::free(res); PgfDB::free(res);
} }
PgfDB::free(lin->res); PgfDB::free(lin->res);
@@ -95,7 +103,7 @@ void PgfConcrLin::release(ref<PgfConcrLin> lin)
for (size_t i = 0; i < lin->seqs->len; i++) { for (size_t i = 0; i < lin->seqs->len; i++) {
ref<Vector<PgfSymbol>> syms = *vector_elem(lin->seqs, i); ref<Vector<PgfSymbol>> syms = *vector_elem(lin->seqs, i);
for (size_t j = 0; j < syms->len; j++) { for (size_t j = 0; j < syms->len; j++) {
PgfSymbol sym = *vector_elem(syms, i); PgfSymbol sym = *vector_elem(syms, j);
pgf_symbol_free(sym); pgf_symbol_free(sym);
} }
PgfDB::free(syms); PgfDB::free(syms);

View File

@@ -1610,6 +1610,7 @@ public:
throw pgf_error(builder_error_msg); throw pgf_error(builder_error_msg);
*vector_elem(syms, sym_index) = ref<PgfSymbolALLCAPIT>::tagged(0); *vector_elem(syms, sym_index) = ref<PgfSymbolALLCAPIT>::tagged(0);
sym_index++;
} PGF_API_END } PGF_API_END
} }