diff --git a/src/runtime/c/pgf/pgf.cxx b/src/runtime/c/pgf/pgf.cxx index 4fc7d709b..7c582b213 100644 --- a/src/runtime/c/pgf/pgf.cxx +++ b/src/runtime/c/pgf/pgf.cxx @@ -957,11 +957,26 @@ void pgf_drop_concrete(PgfDB *db, PgfRevision revision, PGF_API void pgf_create_lin(PgfDB *db, PgfConcrRevision revision, - PgfText *name, size_t n_prods, PgfExn *exn) + PgfText *name, size_t n_prods, PgfExn *err) { - ref lin = PgfDB::malloc(name->size+1); - lin->ref_count = 1; - memcpy(&lin->name, name, sizeof(PgfText)+name->size+1); + PGF_API_BEGIN { + DB_scope scope(db, WRITER_SCOPE); + + ref concr = PgfDB::revision2concr(revision); + + ref lin = PgfDB::malloc(name->size+1); + memcpy(&lin->name, name, sizeof(PgfText)+name->size+1); + lin->ref_count = 1; + lin->res = vector_new>(n_prods); + + for (size_t i = 0; i < n_prods; i++) { + } + + Namespace lins = + namespace_insert(concr->lins, lin); + namespace_release(concr->lins); + concr->lins = lins; + } PGF_API_END } PGF_API