📄 mvutils.c
字号:
/**CFile**************************************************************** FileName [mvUtils.c] PackageName [MVSIS 2.0: Multi-valued logic synthesis system.] Synopsis [Miscellaneous utilities.] Author [MVSIS Group] Affiliation [UC Berkeley] Date [Ver. 1.0. Started - February 1, 2003.] Revision [$Id: mvUtils.c,v 1.8 2003/05/27 23:14:18 alanmi Exp $]***********************************************************************/#include "mv.h"#include "mvInt.h"/////////////////////////////////////////////////////////////////////////// DECLARATIONS ///////////////////////////////////////////////////////////////////////////static char * DateReadFromDateString(char * datestr);/////////////////////////////////////////////////////////////////////////// FUNCTION DEFITIONS ////////////////////////////////////////////////////////////////////////////**Function************************************************************* Synopsis [] Description [] SideEffects [] SeeAlso []***********************************************************************/char * Mv_UtilsGetMvsisVersion( Mv_Frame_t * pMvsis ){ static char Version[1000];#ifdef WIN32 (void) sprintf(Version, "%s (compiled %s %s)", MVSIS_VERSION, __DATE__, __TIME__);#else (void) sprintf(Version, "%s (compiled %s)", MVSIS_VERSION, DateReadFromDateString(CUR_DATE));#endif return Version;}/**Function************************************************************* Synopsis [] Description [] SideEffects [] SeeAlso []***********************************************************************/char * Mv_UtilsGetUsersInput( Mv_Frame_t * pMvsis ){ static char Buffer[1000]; fgets( Buffer, 999, stdin ); return Buffer;}/**Function************************************************************* Synopsis [] Description [] SideEffects [] SeeAlso []***********************************************************************/void Mv_UtilsPrintHello( Mv_Frame_t * pMvsis ){ fprintf( pMvsis->Out, "%s\n", pMvsis->sVersion );}/**Function************************************************************* Synopsis [] Description [] SideEffects [] SeeAlso []***********************************************************************/void Mv_UtilsPrintUsage( Mv_Frame_t * pMvsis, char * ProgName ){ fprintf( pMvsis->Err, "\n" ); fprintf( pMvsis->Err, "usage: %s [-c cmd] [-f script] [-h] [-o file] [-s] [-t type] [-T type] [-x] [file]\n", ProgName); fprintf( pMvsis->Err, " -c cmd\texecute MVSIS commands `cmd'\n"); fprintf( pMvsis->Err, " -f script\texecute MVSIS commands from a script file\n"); fprintf( pMvsis->Err, " -h\t\tprint the command usage\n"); fprintf( pMvsis->Err, " -o file\tspecify output filename to store the result\n"); fprintf( pMvsis->Err, " -s\t\tdo not read any initialization file\n"); fprintf( pMvsis->Err, " -t type\tspecify input type (blif_mv (default), blif_mvs, blif, or none)\n"); fprintf( pMvsis->Err, " -T type\tspecify output type (blif_mv (default), blif_mvs, blif, or none)\n"); fprintf( pMvsis->Err, " -x\t\tequivalent to '-t none -T none'\n"); fprintf( pMvsis->Err, "\n" );}/**Function************************************************************* Synopsis [] Description [] SideEffects [] SeeAlso []***********************************************************************/void Mv_UtilsPrintPrompt( Mv_Frame_t * pMvsis ){ fprintf( pMvsis->Out, "mvsis %02d> ", pMvsis->nSteps );}/**Function************************************************************* Synopsis [] Description [] SideEffects [] SeeAlso []***********************************************************************/void Mv_UtilsSource( Mv_Frame_t * pMvsis ){ /* * If .mvsisrc is present in both the home and current directories, then read * it from the home directory. Otherwise, read it from wherever it's * located. */ #ifdef WIN32 Cmd_CommandExecute(pMvsis, "source master.mvsisrc");#else { char * sPath1, * sPath2; /* * Look in home directory and current directory for .mvsisrc. */ sPath1 = util_file_search(".mvsisrc", "~/", "r"); sPath2 = util_file_search(".mvsisrc", ".", "r"); if ( sPath1 && sPath2 ) { /* ~/.mvsisrc == .mvsisrc : Source the file only once */ (void) Cmd_CommandExecute(pMvsis, "source -s ~/.mvsisrc"); } else { if (sPath1) { (void) Cmd_CommandExecute(pMvsis, "source -s ~/.mvsisrc"); } if (sPath2) { (void) Cmd_CommandExecute(pMvsis, "source -s .mvsisrc"); } } if ( sPath1 ) FREE(sPath1); if ( sPath2 ) FREE(sPath2); /* execute the master script which can be open with the "open_path" */ Cmd_CommandExecute( pMvsis, "source -s master.mvsisrc" ); }#endif //WIN32 return;}/**Function******************************************************************** Synopsis [Returns the date in a brief format assuming its coming from the program `date'.] Description [optional] SideEffects []******************************************************************************/char *DateReadFromDateString( char * datestr){ static char result[25]; char day[10]; char month[10]; char zone[10]; char *at; int date; int hour; int minute; int second; int year; if (sscanf(datestr, "%s %s %2d %2d:%2d:%2d %s %4d", day, month, &date, &hour, &minute, &second, zone, &year) == 8) { if (hour >= 12) { if (hour >= 13) hour -= 12; at = "PM"; } else { if (hour == 0) hour = 12; at = "AM"; } (void) sprintf(result, "%d-%3s-%02d at %d:%02d %s", date, month, year % 100, hour, minute, at); return result; } else { return datestr; }}/////////////////////////////////////////////////////////////////////////// END OF FILE ///////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -