fixed command line arguments to follow standards

This commit is contained in:
Jeff Hill
2009-07-14 23:26:10 +00:00
parent 93809bd857
commit 58a6493596

View File

@@ -9,6 +9,7 @@
\*************************************************************************/
#include "envDefs.h"
#include "errlog.h"
#include "exServer.h"
#include "fdManager.h"
@@ -17,7 +18,7 @@
// main()
// (example single threaded ca server tool main loop)
//
extern int main (int argc, const char **argv)
extern int main ( int argc, const char **argv )
{
epicsTime begin (epicsTime::getCurrent());
exServer *pCAS;
@@ -31,34 +32,60 @@ extern int main (int argc, const char **argv)
bool forever = true;
int i;
for ( i = 1; i < argc; i++ ) {
if ( sscanf(argv[i], "-d %u", & debugLevel ) == 1 ) {
continue;
i = 1;
while ( i < argc ) {
if ( strcmp ( argv[i], "-d" ) == 0 ) {
if ( i+1 < argc && sscanf ( argv[i+1], "%u", & debugLevel ) == 1 ) {
i += 2;
continue;
}
}
if ( sscanf ( argv[i],"-t %lf", & executionTime ) == 1 ) {
forever = false;
continue;
if ( strcmp ( argv[i],"-t" ) == 0 ) {
if ( i+1 < argc && sscanf ( argv[i+1], "%lf", & executionTime ) == 1 ) {
forever = false;
i += 2;
continue;
}
}
if ( sscanf ( argv[i], "-p %127s", pvPrefix ) == 1 ) {
continue;
if ( strcmp ( argv[i], "-p" ) == 0 ) {
if ( i+1 < argc && sscanf ( argv[i+1], "%127s", pvPrefix ) == 1 ) {
i += 2;
continue;
}
}
if ( sscanf ( argv[i],"-c %u", & aliasCount ) == 1 ) {
continue;
if ( strcmp ( argv[i], "-c" ) == 0 ) {
if ( i+1 < argc && sscanf ( argv[i+1], "%u", & aliasCount ) == 1 ) {
i += 2;
continue;
}
}
if ( sscanf ( argv[i],"-s %u", & scanOn ) == 1 ) {
continue;
if ( strcmp ( argv[i], "-s" ) == 0 ) {
if ( i+1 < argc && sscanf ( argv[i+1], "%u", & scanOn ) == 1 ) {
i += 2;
continue;
}
}
if ( sscanf ( argv[i],"-a %63s", arraySize ) == 1 ) {
continue;
if ( strcmp ( argv[i], "-a" ) == 0 ) {
if ( i+1 < argc && sscanf ( argv[i+1], "%63s", arraySize ) == 1 ) {
i += 2;
continue;
}
}
if ( sscanf ( argv[i],"-ss %u", & syncScan ) == 1 ) {
continue;
if ( strcmp ( argv[i],"-ss" ) == 0 ) {
if ( i+1 < argc && sscanf ( argv[i+1], "%u", & syncScan ) == 1 ) {
i += 2;
continue;
}
}
printf ( "\"%s\"?\n", argv[i] );
if ( i + 1 < argc ) {
printf ( "\"%s\"?\n", argv[i+1] );
}
printf ("\"%s\"?\n", argv[i]);
printf (
"usage: %s [-d<debug level> -t<execution time> -p<PV name prefix> "
"-c<numbered alias count> -s<1=scan on (default), 0=scan off> "
"-ss<1=synchronous scan (default), 0=asynchronous scan>]\n",
"usage: %s [-d <debug level> -t <execution time> -p <PV name prefix> "
"-c <numbered alias count> -s <1=scan on (default), 0=scan off> "
"-ss <1=synchronous scan (default), 0=asynchronous scan> "
"-a <max array size>\n",
argv[0]);
return (1);