mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-13 05:02:50 -06:00
fix reference counting for concrete revisions
This commit is contained in:
@@ -66,6 +66,8 @@ foreign import ccall "pgf_free_revision" pgf_free_revision_ :: Ptr PgfDB -> Ptr
|
||||
|
||||
foreign import ccall "&pgf_free_revision" pgf_free_revision :: FinalizerEnvPtr PgfDB (PgfRevision PGF)
|
||||
|
||||
foreign import ccall "pgf_free_concr_revision" pgf_free_concr_revision_ :: Ptr PgfDB -> Ptr (PgfRevision Concr) -> IO ()
|
||||
|
||||
foreign import ccall "&pgf_free_concr_revision" pgf_free_concr_revision :: FinalizerEnvPtr PgfDB (PgfRevision Concr)
|
||||
|
||||
foreign import ccall "pgf_abstract_name"
|
||||
|
||||
@@ -147,7 +147,8 @@ dropCategory name = Transaction $ \c_db c_revision c_exn ->
|
||||
createConcrete :: ConcName -> Transaction Concr () -> Transaction PGF ()
|
||||
createConcrete name (Transaction f) = Transaction $ \c_db c_revision c_exn ->
|
||||
withText name $ \c_name -> do
|
||||
c_concr_revision <- pgf_create_concrete c_db c_revision c_name c_exn
|
||||
bracket (pgf_create_concrete c_db c_revision c_name c_exn)
|
||||
(pgf_free_concr_revision_ c_db) $ \c_concr_revision ->
|
||||
f c_db c_concr_revision c_exn
|
||||
|
||||
alterConcrete :: ConcName -> Transaction Concr () -> Transaction PGF ()
|
||||
|
||||
Reference in New Issue
Block a user