From ecc27e80dc9cdd5d59d24d33a08f0edea8b6b19e Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Mon, 10 Mar 2025 14:37:29 -0700 Subject: [PATCH] Adding support for the genlib library file name. --- src/map/mio/mio.h | 1 + src/map/mio/mioApi.c | 1 + src/map/mio/mioInt.h | 1 + src/map/mio/mioRead.c | 1 + src/map/mio/mioUtils.c | 1 + 5 files changed, 5 insertions(+) diff --git a/src/map/mio/mio.h b/src/map/mio/mio.h index ce6f0aa9b..499a9e6e5 100644 --- a/src/map/mio/mio.h +++ b/src/map/mio/mio.h @@ -109,6 +109,7 @@ extern void Mio_UpdateGenlib( Mio_Library_t * pLib ); extern int Mio_UpdateGenlib2( Vec_Str_t * vStr, Vec_Str_t * vStr2, char * pFileName, int fVerbose ); /*=== mioApi.c =============================================================*/ extern char * Mio_LibraryReadName ( Mio_Library_t * pLib ); +extern char * Mio_LibraryReadFileName ( Mio_Library_t * pLib ); extern int Mio_LibraryReadGateNum ( Mio_Library_t * pLib ); extern Mio_Gate_t * Mio_LibraryReadGates ( Mio_Library_t * pLib ); extern Mio_Gate_t ** Mio_LibraryReadGateArray ( Mio_Library_t * pLib ); diff --git a/src/map/mio/mioApi.c b/src/map/mio/mioApi.c index 906395187..1c3262eb0 100644 --- a/src/map/mio/mioApi.c +++ b/src/map/mio/mioApi.c @@ -41,6 +41,7 @@ ABC_NAMESPACE_IMPL_START ***********************************************************************/ char * Mio_LibraryReadName ( Mio_Library_t * pLib ) { return pLib->pName; } +char * Mio_LibraryReadFileName ( Mio_Library_t * pLib ) { return pLib->pFileName; } int Mio_LibraryReadGateNum ( Mio_Library_t * pLib ) { return pLib->nGates; } Mio_Gate_t * Mio_LibraryReadGates ( Mio_Library_t * pLib ) { return pLib->pGates; } Mio_Gate_t ** Mio_LibraryReadGateArray ( Mio_Library_t * pLib ) { return pLib->ppGatesName;} diff --git a/src/map/mio/mioInt.h b/src/map/mio/mioInt.h index bf01f588a..1d86d1b2f 100644 --- a/src/map/mio/mioInt.h +++ b/src/map/mio/mioInt.h @@ -61,6 +61,7 @@ ABC_NAMESPACE_HEADER_START struct Mio_LibraryStruct_t_ { char * pName; // the name of the library + char * pFileName; // the original file name int nGates; // the number of the gates Mio_Gate_t ** ppGates0; // the array of gates in the original order Mio_Gate_t ** ppGatesName; // the array of gates sorted by name diff --git a/src/map/mio/mioRead.c b/src/map/mio/mioRead.c index 79d5dc4ef..c393fc188 100644 --- a/src/map/mio/mioRead.c +++ b/src/map/mio/mioRead.c @@ -97,6 +97,7 @@ Mio_Library_t * Mio_LibraryRead( char * FileName, char * pBuffer, char * Exclude if ( tExcludeGate ) st__free_table( tExcludeGate ); + pLib->pFileName = Abc_UtilStrsav( FileName ); return pLib; } diff --git a/src/map/mio/mioUtils.c b/src/map/mio/mioUtils.c index 6419339f9..e75fcd90f 100644 --- a/src/map/mio/mioUtils.c +++ b/src/map/mio/mioUtils.c @@ -69,6 +69,7 @@ void Mio_LibraryDelete( Mio_Library_t * pLib ) // Cudd_Quit( pLib->dd ); ABC_FREE( pLib->ppGates0 ); ABC_FREE( pLib->ppGatesName ); + ABC_FREE( pLib->pFileName ); ABC_FREE( pLib ); }