diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/base/io/ioJson.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/base/io/ioJson.c b/src/base/io/ioJson.c index 14e3bfc4..3595f027 100644 --- a/src/base/io/ioJson.c +++ b/src/base/io/ioJson.c @@ -289,6 +289,21 @@ void Json_Write( char * pFileName, Abc_Nam_t * pStr, Vec_Wec_t * vObjs ) SeeAlso [] ***********************************************************************/ +char * Json_ReadPreprocess( char * pIn, int nFileSize ) +{ + char * pOut = ABC_ALLOC( char, 3*nFileSize ); int i, k = 0; + for ( i = 0; i < nFileSize; i++ ) + if ( pIn[i] == '{' || pIn[i] == '}' || pIn[i] == '[' || pIn[i] == ']' ) + { + pOut[k++] = ' '; + pOut[k++] = pIn[i]; + pOut[k++] = ' '; + } + else + pOut[k++] = pIn[i]; + pOut[k++] = '\0'; + return pOut; +} Vec_Wec_t * Json_Read( char * pFileName, Abc_Nam_t ** ppStrs ) { Abc_Nam_t * pStrs; @@ -311,6 +326,11 @@ Vec_Wec_t * Json_Read( char * pFileName, Abc_Nam_t ** ppStrs ) pContents[nFileSize] = 0; fclose( pFile ); + pContents = Json_ReadPreprocess( pCur = pContents, nFileSize ); + nFileSize = strlen(pContents); + ABC_FREE( pCur ); + pCur = pContents; + // start data-structures vObjs = Vec_WecAlloc( 1000 ); vStack = Vec_IntAlloc( 100 ); |