| /**CFile**************************************************************** |
| |
| FileName [ioaUtil.c] |
| |
| SystemName [ABC: Logic synthesis and verification system.] |
| |
| PackageName [Command processing package.] |
| |
| Synopsis [Procedures to read binary AIGER format developed by |
| Armin Biere, Johannes Kepler University (http://fmv.jku.at/)] |
| |
| Author [Alan Mishchenko] |
| |
| Affiliation [UC Berkeley] |
| |
| Date [Ver. 1.0. Started - December 16, 2006.] |
| |
| Revision [$Id: ioaUtil.c,v 1.00 2006/12/16 00:00:00 alanmi Exp $] |
| |
| ***********************************************************************/ |
| |
| #include "ioa.h" |
| |
| ABC_NAMESPACE_IMPL_START |
| |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// DECLARATIONS /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// FUNCTION DEFINITIONS /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| /**Function************************************************************* |
| |
| Synopsis [Returns the file size.] |
| |
| Description [The file should be closed.] |
| |
| SideEffects [] |
| |
| SeeAlso [] |
| |
| ***********************************************************************/ |
| int Ioa_FileSize( char * pFileName ) |
| { |
| FILE * pFile; |
| int nFileSize; |
| pFile = fopen( pFileName, "r" ); |
| if ( pFile == NULL ) |
| { |
| printf( "Ioa_FileSize(): The file is unavailable (absent or open).\n" ); |
| return 0; |
| } |
| fseek( pFile, 0, SEEK_END ); |
| nFileSize = ftell( pFile ); |
| fclose( pFile ); |
| return nFileSize; |
| } |
| |
| /**Function************************************************************* |
| |
| Synopsis [] |
| |
| Description [] |
| |
| SideEffects [] |
| |
| SeeAlso [] |
| |
| ***********************************************************************/ |
| char * Ioa_FileNameGeneric( char * FileName ) |
| { |
| char * pDot, * pRes; |
| pRes = Abc_UtilStrsav( FileName ); |
| if ( (pDot = strrchr( pRes, '.' )) ) |
| *pDot = 0; |
| return pRes; |
| } |
| |
| /**Function************************************************************* |
| |
| Synopsis [Returns the composite name of the file.] |
| |
| Description [] |
| |
| SideEffects [] |
| |
| SeeAlso [] |
| |
| ***********************************************************************/ |
| char * Ioa_FileNameGenericAppend( char * pBase, char * pSuffix ) |
| { |
| static char Buffer[1000]; |
| char * pDot; |
| if ( pBase == NULL ) |
| { |
| strcpy( Buffer, pSuffix ); |
| return Buffer; |
| } |
| strcpy( Buffer, pBase ); |
| if ( (pDot = strrchr( Buffer, '.' )) ) |
| *pDot = 0; |
| strcat( Buffer, pSuffix ); |
| // find the last occurrance of slash |
| for ( pDot = Buffer + strlen(Buffer) - 1; pDot >= Buffer; pDot-- ) |
| if (!((*pDot >= '0' && *pDot <= '9') || |
| (*pDot >= 'a' && *pDot <= 'z') || |
| (*pDot >= 'A' && *pDot <= 'Z') || |
| *pDot == '_' || *pDot == '.') ) |
| break; |
| return pDot + 1; |
| } |
| |
| /**Function************************************************************* |
| |
| Synopsis [Returns the time stamp.] |
| |
| Description [The file should be closed.] |
| |
| SideEffects [] |
| |
| SeeAlso [] |
| |
| ***********************************************************************/ |
| char * Ioa_TimeStamp() |
| { |
| static char Buffer[100]; |
| char * TimeStamp; |
| time_t ltime; |
| // get the current time |
| time( <ime ); |
| TimeStamp = asctime( localtime( <ime ) ); |
| TimeStamp[ strlen(TimeStamp) - 1 ] = 0; |
| strcpy( Buffer, TimeStamp ); |
| return Buffer; |
| } |
| |
| //////////////////////////////////////////////////////////////////////// |
| /// END OF FILE /// |
| //////////////////////////////////////////////////////////////////////// |
| |
| |
| ABC_NAMESPACE_IMPL_END |
| |