summaryrefslogtreecommitdiffstats
path: root/src/base/io/ioReadBlif.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-02-07 08:01:00 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2008-02-07 08:01:00 -0800
commit5a6924060bffb688101f54711f967305fc3fa480 (patch)
tree388d896072828c76216de12f3fdac7775f6160f7 /src/base/io/ioReadBlif.c
parent7174787abafe80437892b55a53f994da85a37342 (diff)
downloadabc-5a6924060bffb688101f54711f967305fc3fa480.tar.gz
abc-5a6924060bffb688101f54711f967305fc3fa480.tar.bz2
abc-5a6924060bffb688101f54711f967305fc3fa480.zip
Version abc80207
Diffstat (limited to 'src/base/io/ioReadBlif.c')
-rw-r--r--src/base/io/ioReadBlif.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/base/io/ioReadBlif.c b/src/base/io/ioReadBlif.c
index d0750178..ffa25c7f 100644
--- a/src/base/io/ioReadBlif.c
+++ b/src/base/io/ioReadBlif.c
@@ -218,7 +218,20 @@ Abc_Ntk_t * Io_ReadBlifNetworkOne( Io_ReadBlif_t * p )
p->pNtkCur = pNtk = Abc_NtkAlloc( ABC_NTK_NETLIST, ABC_FUNC_SOP, 1 );
// read the model name
if ( strcmp( p->vTokens->pArray[0], ".model" ) == 0 )
- pNtk->pName = Extra_UtilStrsav( p->vTokens->pArray[1] );
+ {
+ char * pToken, * pPivot;
+ if ( Vec_PtrSize(p->vTokens) != 2 )
+ {
+ p->LineCur = Extra_FileReaderGetLineNumber(p->pReader, 0);
+ sprintf( p->sError, "The .model line does not have exactly two entries." );
+ Io_ReadBlifPrintErrorMessage( p );
+ return NULL;
+ }
+ for ( pPivot = pToken = Vec_PtrEntry(p->vTokens, 1); *pToken; pToken++ )
+ if ( *pToken == '/' || *pToken == '\\' )
+ pPivot = pToken+1;
+ pNtk->pName = Extra_UtilStrsav( pPivot );
+ }
else if ( strcmp( p->vTokens->pArray[0], ".exdc" ) != 0 )
{
printf( "%s: File parsing skipped after line %d (\"%s\").\n", p->pFileName,