Esempio n. 1
0
static void procOptions(        // PROCESS AN OPTIONS LINE
    OPT_STORAGE *data,          // - options data
    const char *str )           // - scan position in command line
{
    int c;                      // - next character
    char const *fnm;            // - scanned @ name
    char *env;                  // - environment name
    size_t len;                 // - length of file name

    if( indirectionLevel >= MAX_INDIRECTION ) {
        BadCmdLine( ERR_MAX_CMD_INDIRECTION );
    } else if( str != NULL ) {
        ++indirectionLevel;
        CtxSetSwitchAddr( str );
        CmdScanInit( str );
        for(;;) {
            c = CmdScanWhiteSpace();
            if( c == '\0' ) break;
            CmdScanSwitchBegin();
            CmdLnCtxSwitch( CmdScanAddr() - 1 );
            if( c == '-'  ||  c == SwitchChar ) {
                if( OPT_PROCESS( data ) ) {
                    BadCmdLine( ERR_INVALID_OPTION );
                }
            } else if( c == '@' ) {
                CmdScanWhiteSpace();
                CmdScanUngetChar();
                len = CmdScanFilename( &fnm );
                env = get_env( fnm, len );
                if( NULL == env ) {
                    if( openCmdFile( fnm, len ) ) {
                        CmdLnCtxPushCmdFile( SrcFileCurrent() );
                        processCmdFile( data );
                        CmdLnCtxPop();
                    } else {
                        CmdLnCtxPushEnv( fnm );
                        BadCmdLine( ERR_BAD_CMD_INDIRECTION );
                        CmdLnCtxPop();
                    }
                } else {
                    CmdLnCtxPushEnv( fnm );
                    procOptions( data, env );
                    CmdLnCtxPop();
                }
            } else {
                CmdScanUngetChar();
                scanInputFile();
            }
        }
        --indirectionLevel;
    }
}
Esempio n. 2
0
int main(int argc, char **argv)
{
    char input_filename[NAMELENGTH+1];

    if(argc > 1)
    {
        sprintf(input_filename, "%s", argv[1]);
        scanInputFile(input_filename);
        readNodeSection(input_filename);
        readEdgeSection(input_filename);
        determineNumberOfSelfLoops();
        determineReciprocityByDyadMethod(sourcenodeid, targetnodeid, numberofedges);
    }
    else
        printf("Error: No file has been specified\n");
    return 0;
}
Esempio n. 3
0
int main(int argc, char **argv)
{
  char input_filename[NAMELENGTH+1];
  
  if(argc > 1)
    {
      sprintf(input_filename, "%s", argv[1]);
      scanInputFile(input_filename);
      readNodeSection(input_filename);
      readEdgeSection(input_filename);
      determineNumberOfSelfLoops();
      constructAdjacencyMatrix();
      eliminateSelfLoops(adjacencymatrix);
      determineNodeOutDegree(adjacencymatrix);
      determineNodeInDegree(adjacencymatrix);
      determineTransitivityByAdjacency(adjacencymatrix);
    }
  else
    printf("Error: No file has been specified\n");
  return 0;
}