Пример #1
0
int main( int argc, char **argv )
{
    char   *cmdStr;
    int     argIdx;
    Cmd    *cmd;

    if ( argc == 1 )
    {
        Usage( );
        exit( 0 );
    }

    if (( gFd = open( "/dev/robostix",  O_RDWR )) < 0 )
    {
        perror( "Unable to open /dev/robostix" );
        exit( 1 );
    }

    argIdx = 1;
    cmdStr = argv[ argIdx++ ];

    for ( cmd = gCmd; cmd->cmdStr != NULL; cmd++ ) 
    {
        if ( strcasecmp( cmdStr, cmd->cmdStr ) == 0 )
        {
            break;
        }
    }
    if ( cmd->cmdStr == NULL )
    {
        fprintf( stderr, "Unrecognized command: '%s'\n", cmdStr );
        exit( 1 );
    }

    if ( cmd->parseArgs( argc - argIdx, &argv[ argIdx ] ))
    {
        cmd->execFunc( cmd->cmd );
    }

    close( gFd );

    exit( 0 );
    return 0;

} // main