summaryrefslogtreecommitdiffstats
path: root/src/map/amap/amapRead.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-09-25 01:34:26 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-09-25 01:34:26 -0700
commitaed3b3a13acf9113cc4ec254933efce6114519be (patch)
tree44f656ff54b814a1b768599a9d6ae770cddbd422 /src/map/amap/amapRead.c
parentd0197d83782fd016358360c305d5d4dcd7ef95d8 (diff)
downloadabc-aed3b3a13acf9113cc4ec254933efce6114519be.tar.gz
abc-aed3b3a13acf9113cc4ec254933efce6114519be.tar.bz2
abc-aed3b3a13acf9113cc4ec254933efce6114519be.zip
Cleaned up interfaces of genlib/liberty/supergate reading/writing.
Diffstat (limited to 'src/map/amap/amapRead.c')
-rw-r--r--src/map/amap/amapRead.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/map/amap/amapRead.c b/src/map/amap/amapRead.c
index e8206e31..8ea3c9c0 100644
--- a/src/map/amap/amapRead.c
+++ b/src/map/amap/amapRead.c
@@ -438,14 +438,10 @@ Amap_Lib_t * Amap_ParseTokens( Vec_Ptr_t * vTokens, int fVerbose )
SeeAlso []
***********************************************************************/
-Amap_Lib_t * Amap_LibReadFile( char * pFileName, int fVerbose )
+Amap_Lib_t * Amap_LibReadBuffer( char * pBuffer, int fVerbose )
{
Amap_Lib_t * pLib;
Vec_Ptr_t * vTokens;
- char * pBuffer;
- pBuffer = Amap_LoadFile( pFileName );
- if ( pBuffer == NULL )
- return NULL;
Amap_RemoveComments( pBuffer, NULL, NULL );
vTokens = Amap_DeriveTokens( pBuffer );
pLib = Amap_ParseTokens( vTokens, fVerbose );
@@ -454,8 +450,31 @@ Amap_Lib_t * Amap_LibReadFile( char * pFileName, int fVerbose )
Vec_PtrFree( vTokens );
return NULL;
}
- pLib->pName = Amap_ParseStrsav( pLib->pMemGates, pFileName );
Vec_PtrFree( vTokens );
+ return pLib;
+}
+
+/**Function*************************************************************
+
+ Synopsis [Reads the library from the input file.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+Amap_Lib_t * Amap_LibReadFile( char * pFileName, int fVerbose )
+{
+ Amap_Lib_t * pLib;
+ char * pBuffer;
+ pBuffer = Amap_LoadFile( pFileName );
+ if ( pBuffer == NULL )
+ return NULL;
+ pLib = Amap_LibReadBuffer( pBuffer, fVerbose );
+ if ( pLib )
+ pLib->pName = Abc_UtilStrsav( pFileName );
ABC_FREE( pBuffer );
return pLib;
}