summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Udaltsov <svu@gnome.org>2005-05-29 21:43:07 +0000
committerSergey Udaltsov <svu@gnome.org>2005-05-29 21:43:07 +0000
commit6e6cb5c3130a8d0951e595bc1b7169ce4320b4e1 (patch)
treeb443fee7ae933f46aa7ca629592b91e604034203
parente3970783c137e275e1ea9a495cca0cc04f84e4e9 (diff)
downloadlibxklavier-6e6cb5c3130a8d0951e595bc1b7169ce4320b4e1.tar.gz
patch for gcc4
-rw-r--r--ChangeLog16
-rw-r--r--libxklavier/xklavier.c21
-rw-r--r--libxklavier/xklavier.h2
-rw-r--r--libxklavier/xklavier_config.c40
-rw-r--r--libxklavier/xklavier_config_i18n.c2
-rw-r--r--libxklavier/xklavier_dump.c6
-rw-r--r--libxklavier/xklavier_private.h2
-rw-r--r--libxklavier/xklavier_private_xmm.h8
-rw-r--r--libxklavier/xklavier_props.c4
-rw-r--r--libxklavier/xklavier_util.c10
-rw-r--r--libxklavier/xklavier_xkb.c16
-rwxr-xr-xlibxklavier/xklavier_xmm.c18
-rw-r--r--tests/test_config.c2
13 files changed, 82 insertions, 65 deletions
diff --git a/ChangeLog b/ChangeLog
index d11a6bf..2fb61d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2005-05-29 svu
+
+ * libxklavier/xklavier.c,
+ libxklavier/xklavier.h,
+ libxklavier/xklavier_config.c,
+ libxklavier/xklavier_config_i18n.c,
+ libxklavier/xklavier_dump.c,
+ libxklavier/xklavier_private.h,
+ libxklavier/xklavier_private_xmm.h,
+ libxklavier/xklavier_props.c,
+ libxklavier/xklavier_util.c,
+ libxklavier/xklavier_xkb.c,
+ libxklavier/xklavier_xmm.c,
+ tests/test_config.c: patches for gcc4.
+ Thanks to kmaraas
+
2005-03-11 svu
* libxklavier/xklavier_xkb.c: fixed memory leak, precachedXkb.
diff --git a/libxklavier/xklavier.c b/libxklavier/xklavier.c
index 6422846..648efa7 100644
--- a/libxklavier/xklavier.c
+++ b/libxklavier/xklavier.c
@@ -9,8 +9,6 @@
Display *_xklDpy;
-Bool _xklXkbExtPresent;
-
XklState _xklCurState;
Window _xklCurClient;
@@ -190,7 +188,7 @@ int XklStartListen( int what )
return 0;
}
-int XklStopListen( )
+int XklStopListen( void )
{
XklPauseListen( );
return 0;
@@ -264,7 +262,7 @@ int XklInit( Display * a_dpy )
( _XklLoadAllInfo() ? 0 : _xklLastErrorCode ) : -1;
}
-int XklTerm( )
+int XklTerm( void )
{
XSetErrorHandler( ( XErrorHandler ) _xklDefaultErrHandler );
_xklConfigCallback = NULL;
@@ -316,18 +314,18 @@ Bool XklUngrabKey( int keycode, unsigned modifiers )
return Success == XUngrabKey( _xklDpy, keycode, 0, _xklRootWindow );
}
-int XklGetNextGroup( )
+int XklGetNextGroup( void )
{
return ( _xklCurState.group + 1 ) % XklGetNumGroups( );
}
-int XklGetPrevGroup( )
+int XklGetPrevGroup( void )
{
int n = XklGetNumGroups( );
return ( _xklCurState.group + n - 1 ) % n;
}
-int XklGetRestoreGroup( )
+int XklGetRestoreGroup( void )
{
XklState state;
if( _xklCurClient == ( Window ) NULL )
@@ -449,7 +447,7 @@ void _XklAddAppWindow( Window appWin, Window parent, Bool ignoreExistingState,
Bool _XklGetAppWindowBottomToTop( Window win, Window * appWin_return )
{
Window parent = ( Window ) NULL, rwin = ( Window ) NULL, *children = NULL;
- int num = 0;
+ unsigned int num = 0;
if( win == ( Window ) NULL || win == _xklRootWindow )
{
@@ -490,7 +488,7 @@ Bool _XklGetAppWindow( Window win, Window * appWin_return )
{
Window parent = ( Window ) NULL,
rwin = ( Window ) NULL, *children = NULL, *child;
- int num = 0;
+ unsigned int num = 0;
Bool rv;
if( win == ( Window ) NULL || win == _xklRootWindow )
@@ -555,7 +553,7 @@ Bool _XklGetAppWindow( Window win, Window * appWin_return )
/**
* Loads the tree recursively.
*/
-Bool _XklLoadWindowTree( )
+Bool _XklLoadWindowTree( void )
{
Window focused;
int revert;
@@ -770,11 +768,12 @@ Bool _XklIsTransparentAppWindow( Window appWin )
void _XklEnsureVTableInited( void )
{
+ char *p;
if ( xklVTable == NULL )
{
XklDebug( 0, "ERROR: XKL VTable is NOT initialized.\n" );
/* force the crash! */
- char *p = NULL; *p = '\0';
+ p = NULL; *p = '\0';
}
}
diff --git a/libxklavier/xklavier.h b/libxklavier/xklavier.h
index 6d0565f..000f523 100644
--- a/libxklavier/xklavier.h
+++ b/libxklavier/xklavier.h
@@ -214,7 +214,7 @@ extern "C"
* @return the window title of some window or NULL.
* If not NULL, it should be freed with XFree
*/
- extern char *XklGetWindowTitle( Window w );
+ extern unsigned char *XklGetWindowTitle( Window w );
/**
* Finds the state for a given window (for its "App window").
diff --git a/libxklavier/xklavier_config.c b/libxklavier/xklavier_config.c
index dd109c8..72e9e66 100644
--- a/libxklavier/xklavier_config.c
+++ b/libxklavier/xklavier_config.c
@@ -29,9 +29,9 @@ static xmlXPathCompExprPtr optionGroupsXPath;
static xmlChar *_XklNodeGetXmlLangAttr( xmlNodePtr nptr )
{
if( nptr->properties != NULL &&
- !strcmp( "lang", nptr->properties[0].name ) &&
+ !strcmp( "lang", (char *)nptr->properties[0].name ) &&
nptr->properties[0].ns != NULL &&
- !strcmp( "xml", nptr->properties[0].ns->prefix ) &&
+ !strcmp( "xml", (char *)nptr->properties[0].ns->prefix ) &&
nptr->properties[0].children != NULL )
return nptr->properties[0].children->content;
else
@@ -56,7 +56,7 @@ static Bool _XklReadConfigItem( xmlNodePtr iptr, XklConfigItemPtr pci )
switch ( ptr->type )
{
case XML_ELEMENT_NODE:
- if( !strcmp( ptr->name, "configItem" ) )
+ if( !strcmp( (char *)ptr->name, "configItem" ) )
break;
return False;
case XML_TEXT_NODE:
@@ -85,21 +85,21 @@ static Bool _XklReadConfigItem( xmlNodePtr iptr, XklConfigItemPtr pci )
if( lang != NULL )
{
- int priority = _XklGetLanguagePriority( lang );
- if( !strcmp( nptr->name, "description" ) && ( priority > maxDescPriority ) ) /* higher priority */
+ int priority = _XklGetLanguagePriority( (char *)lang );
+ if( !strcmp( (char *)nptr->name, "description" ) && ( priority > maxDescPriority ) ) /* higher priority */
{
descElement = nptr;
maxDescPriority = priority;
- } else if( !strcmp( nptr->name, "shortDescription" ) && ( priority > maxShortDescPriority ) ) /* higher priority */
+ } else if( !strcmp( (char *)nptr->name, "shortDescription" ) && ( priority > maxShortDescPriority ) ) /* higher priority */
{
shortDescElement = nptr;
maxShortDescPriority = priority;
}
} else
{
- if( !strcmp( nptr->name, "description" ) )
+ if( !strcmp( (char *)nptr->name, "description" ) )
ntDescElement = nptr;
- else if( !strcmp( nptr->name, "shortDescription" ) )
+ else if( !strcmp( (char *)nptr->name, "shortDescription" ) )
ntShortDescElement = nptr;
}
}
@@ -118,12 +118,12 @@ static Bool _XklReadConfigItem( xmlNodePtr iptr, XklConfigItemPtr pci )
*/
if( nameElement != NULL && nameElement->children != NULL )
- strncat( pci->name, nameElement->children->content,
+ strncat( pci->name, (char *)nameElement->children->content,
XKL_MAX_CI_NAME_LENGTH - 1 );
if( shortDescElement != NULL && shortDescElement->children != NULL )
{
- char * lsd = _XklLocaleFromUtf8( shortDescElement->children->content );
+ char * lsd = _XklLocaleFromUtf8( (const char *)shortDescElement->children->content );
strncat( pci->shortDescription,
lsd,
XKL_MAX_CI_SHORT_DESC_LENGTH - 1 );
@@ -132,7 +132,7 @@ static Bool _XklReadConfigItem( xmlNodePtr iptr, XklConfigItemPtr pci )
if( descElement != NULL && descElement->children != NULL )
{
- char * ld = _XklLocaleFromUtf8( descElement->children->content );
+ char * ld = _XklLocaleFromUtf8( (const char *)descElement->children->content );
strncat( pci->description,
ld,
XKL_MAX_CI_DESC_LENGTH - 1 );
@@ -185,7 +185,7 @@ static void _XklConfigEnumDirect( const char *format,
if( !_XklConfigRegistryIsInitialized( ) )
return;
snprintf( xpathExpr, sizeof xpathExpr, format, value );
- xpathObj = xmlXPathEval( xpathExpr, theRegistry.xpathContext );
+ xpathObj = xmlXPathEval( (unsigned char *)xpathExpr, theRegistry.xpathContext );
if( xpathObj != NULL )
{
_XklConfigEnumFromNodeSet( xpathObj->nodesetval, func, userData );
@@ -207,7 +207,7 @@ static Bool _XklConfigFindObject( const char *format,
return False;
snprintf( xpathExpr, sizeof xpathExpr, format, arg1, ptr->name );
- xpathObj = xmlXPathEval( xpathExpr, theRegistry.xpathContext );
+ xpathObj = xmlXPathEval( (unsigned char *)xpathExpr, theRegistry.xpathContext );
if( xpathObj == NULL )
return False;
@@ -364,10 +364,10 @@ char* _XklGetRulesSetName( const char defaultRuleset[] )
void XklConfigInit( void )
{
xmlXPathInit( );
- modelsXPath = xmlXPathCompile( "/xkbConfigRegistry/modelList/model" );
- layoutsXPath = xmlXPathCompile( "/xkbConfigRegistry/layoutList/layout" );
+ modelsXPath = xmlXPathCompile( (unsigned char *)"/xkbConfigRegistry/modelList/model" );
+ layoutsXPath = xmlXPathCompile( (unsigned char *)"/xkbConfigRegistry/layoutList/layout" );
optionGroupsXPath =
- xmlXPathCompile( "/xkbConfigRegistry/optionList/group" );
+ xmlXPathCompile( (unsigned char *)"/xkbConfigRegistry/optionList/group" );
_XklI18NInit( );
_XklEnsureVTableInited();
@@ -455,10 +455,10 @@ void XklConfigEnumOptionGroups( GroupProcessFunc func, void *userData )
{
Bool allowMC = True;
xmlChar *allowMCS =
- xmlGetProp( *theNodePtr, "allowMultipleSelection" );
+ xmlGetProp( *theNodePtr, (unsigned char *)"allowMultipleSelection" );
if( allowMCS != NULL )
{
- allowMC = strcmp( "false", allowMCS );
+ allowMC = strcmp( "false", (char *)allowMCS );
xmlFree( allowMCS );
}
@@ -516,11 +516,11 @@ Bool XklConfigFindOptionGroup( XklConfigItemPtr ptr /* in/out */ ,
if( rv && allowMultipleSelection != NULL )
{
- xmlChar *val = xmlGetProp( node, "allowMultipleSelection" );
+ xmlChar *val = xmlGetProp( node, (unsigned char *)"allowMultipleSelection" );
*allowMultipleSelection = False;
if( val != NULL )
{
- *allowMultipleSelection = !strcmp( val, "true" );
+ *allowMultipleSelection = !strcmp( (char *)val, "true" );
xmlFree( val );
}
}
diff --git a/libxklavier/xklavier_config_i18n.c b/libxklavier/xklavier_config_i18n.c
index fc20c14..9a91577 100644
--- a/libxklavier/xklavier_config_i18n.c
+++ b/libxklavier/xklavier_config_i18n.c
@@ -150,7 +150,7 @@ char *_XklLocaleFromUtf8( const char *utf8string )
/*
* country[_LANG[.ENCODING]] - any other ideas?
*/
-void _XklI18NInit( )
+void _XklI18NInit( void )
{
char *dotPos;
char *underscorePos;
diff --git a/libxklavier/xklavier_dump.c b/libxklavier/xklavier_dump.c
index 3fabd8c..b013584 100644
--- a/libxklavier/xklavier_dump.c
+++ b/libxklavier/xklavier_dump.c
@@ -20,6 +20,7 @@
#include "xklavier_private_xkb.h"
#ifdef XKB_HEADERS_PRESENT
+#if 0
static void _XkbModsRecDump( FILE * fs, XkbModsRec * mods )
{
fprintf( fs, "flags: 0x%X\n", mods->mask );
@@ -27,7 +28,7 @@ static void _XkbModsRecDump( FILE * fs, XkbModsRec * mods )
fprintf( fs, "vmods: 0x%X\n", mods->vmods );
}
-extern void _XkbControlsDump( FILE * fs, XkbControlsPtr ctrls )
+static void _XkbControlsDump( FILE * fs, XkbControlsPtr ctrls )
{
int i;
char buf[1024];
@@ -65,6 +66,7 @@ extern void _XkbControlsDump( FILE * fs, XkbControlsPtr ctrls )
}
fprintf( fs, " %s\n", buf );
}
+#endif
static const char *actionTypeNames[] = {
"XkbSA_NoAction",
@@ -236,7 +238,7 @@ static void _XkbClientMapDump( FILE * fs, int level, XkbClientMapPtr map,
fprintf( fs, "%*sNO key_sym_map\n", level, "" );
}
-void _XkbDescDump( FILE * fs, int level, XkbDescPtr kbd )
+static void _XkbDescDump( FILE * fs, int level, XkbDescPtr kbd )
{
fprintf( fs, "%*sflags: 0x%X\n", level, "", kbd->flags );
fprintf( fs, "%*sdevice_spec: %d\n", level, "", kbd->device_spec );
diff --git a/libxklavier/xklavier_private.h b/libxklavier/xklavier_private.h
index 5203ade..a9292a1 100644
--- a/libxklavier/xklavier_private.h
+++ b/libxklavier/xklavier_private.h
@@ -227,7 +227,7 @@ extern Status _XklStatusQueryTree( Display * display,
Window * root_return,
Window * parent_return,
Window ** children_return,
- signed int *nchildren_return );
+ unsigned int *nchildren_return );
extern Bool _XklSetIndicator( int indicatorNum, Bool set );
diff --git a/libxklavier/xklavier_private_xmm.h b/libxklavier/xklavier_private_xmm.h
index e90da5d..f83cd07 100644
--- a/libxklavier/xklavier_private_xmm.h
+++ b/libxklavier/xklavier_private_xmm.h
@@ -35,13 +35,13 @@ extern void _XklXmmUngrabShortcuts( void );
extern const char* _XklXmmGetCurrentShortcutOptionName( void );
-extern const XmmSwitchOptionPtr _XklXmmGetCurrentShortcut( void );
+XmmSwitchOptionPtr _XklXmmGetCurrentShortcut( void );
extern void _XklXmmActualizeGroup( int group );
-extern const XmmSwitchOptionPtr _XklXmmFindSwitchOption( unsigned keycode,
- unsigned state,
- int * currentShortcut_rv );
+XmmSwitchOptionPtr _XklXmmFindSwitchOption( unsigned keycode,
+ unsigned state,
+ int * currentShortcut_rv );
/* Start VTable methods */
diff --git a/libxklavier/xklavier_props.c b/libxklavier/xklavier_props.c
index 4701fec..52a98fe 100644
--- a/libxklavier/xklavier_props.c
+++ b/libxklavier/xklavier_props.c
@@ -135,7 +135,7 @@ Bool XklConfigGetFromBackup( XklConfigRecPtr data )
return rv;
}
-Bool XklBackupNamesProp( )
+Bool XklBackupNamesProp( void )
{
Bool rv = True;
char *rf = NULL;
@@ -187,7 +187,7 @@ Bool XklBackupNamesProp( )
return rv;
}
-Bool XklRestoreNamesProp( )
+Bool XklRestoreNamesProp( void )
{
Bool rv = True;
char *rf = NULL;
diff --git a/libxklavier/xklavier_util.c b/libxklavier/xklavier_util.c
index 8e5c98f..d87247e 100644
--- a/libxklavier/xklavier_util.c
+++ b/libxklavier/xklavier_util.c
@@ -17,7 +17,7 @@ const char *XklGetLastError( )
return _xklLastErrorMsg;
}
-char *XklGetWindowTitle( Window w )
+unsigned char *XklGetWindowTitle( Window w )
{
Atom type_ret;
int format_ret;
@@ -78,7 +78,7 @@ void XklSaveState( Window win, XklState * state )
char *_XklGetDebugWindowTitle( Window win )
{
static char sname[33];
- char *name;
+ unsigned char *name;
strcpy( sname, "NULL" );
if( win != ( Window ) NULL )
{
@@ -106,7 +106,7 @@ Bool _XklLoadSubtree( Window window, int level, XklState * initState )
{
Window rwin = ( Window ) NULL,
parent = ( Window ) NULL, *children = NULL, *child;
- int num = 0;
+ unsigned int num = 0;
Bool retval = True;
_xklLastErrorCode =
@@ -178,7 +178,7 @@ Bool _XklHasWmState( Window win )
Window _XklGetRegisteredParent( Window win )
{
Window parent = ( Window ) NULL, rw = ( Window ) NULL, *children = NULL;
- unsigned nchildren = 0;
+ unsigned int nchildren = 0;
_xklLastErrorCode =
_XklStatusQueryTree( _xklDpy, win, &rw, &parent, &children, &nchildren );
@@ -197,7 +197,7 @@ Status _XklStatusQueryTree( Display * display,
Window * root_return,
Window * parent_return,
Window ** children_return,
- signed int *nchildren_return )
+ unsigned int *nchildren_return )
{
Bool result;
diff --git a/libxklavier/xklavier_xkb.c b/libxklavier/xklavier_xkb.c
index fdb9ddc..c2b3e60 100644
--- a/libxklavier/xklavier_xkb.c
+++ b/libxklavier/xklavier_xkb.c
@@ -16,8 +16,6 @@ static XkbDescPtr precachedXkb = NULL;
char *_xklIndicatorNames[XkbNumIndicators];
-unsigned _xklPhysIndicatorsMask;
-
int _xklXkbEventType, _xklXkbError;
static char *groupNames[XkbNumKbdGroups];
@@ -27,7 +25,7 @@ const char **_XklXkbGetGroupNames( void )
return ( const char ** ) groupNames;
}
-int _XklXkbPauseListen( )
+int _XklXkbPauseListen( void )
{
XkbSelectEvents( _xklDpy, XkbUseCoreKbd, XkbAllEventsMask, 0 );
/* XkbSelectEventDetails( _xklDpy,
@@ -41,7 +39,7 @@ int _XklXkbPauseListen( )
return 0;
}
-int _XklXkbResumeListen( )
+int _XklXkbResumeListen( void )
{
/* What events we want */
#define XKB_EVT_MASK \
@@ -90,7 +88,7 @@ unsigned _XklXkbGetNumGroups( void )
#define NAMES_MASK \
( XkbGroupNamesMask | XkbIndicatorNamesMask )
-void _XklXkbFreeAllInfo( )
+void _XklXkbFreeAllInfo( void )
{
int i;
char **pi = _xklIndicatorNames;
@@ -138,12 +136,13 @@ static Bool _XklXkbLoadPrecachedXkb( void )
_xklLastErrorMsg = "Could not load controls/names/indicators";
XklDebug( 0, "%s: %d\n", _xklLastErrorMsg, status );
XkbFreeKeyboard( precachedXkb, XkbAllComponentsMask, True );
+
}
}
return rv;
}
-Bool _XklXkbIfCachedInfoEqualsActual( )
+Bool _XklXkbIfCachedInfoEqualsActual( void )
{
int i;
Atom *pa1, *pa2;
@@ -191,7 +190,7 @@ Bool _XklXkbIfCachedInfoEqualsActual( )
/**
* Load some XKB parameters
*/
-Bool _XklXkbLoadAllInfo( )
+Bool _XklXkbLoadAllInfo( void )
{
int i;
Atom *pa;
@@ -441,8 +440,9 @@ int _XklXkbInit( void )
{
#ifdef XKB_HEADERS_PRESENT
int opcode;
+ Bool _xklXkbExtPresent;
static XklVTable xklXkbVTable =
- {
+{
"XKB",
XKLF_CAN_TOGGLE_INDICATORS |
XKLF_CAN_OUTPUT_CONFIG_AS_ASCII |
diff --git a/libxklavier/xklavier_xmm.c b/libxklavier/xklavier_xmm.c
index 27b8e81..83818a1 100755
--- a/libxklavier/xklavier_xmm.c
+++ b/libxklavier/xklavier_xmm.c
@@ -26,7 +26,7 @@ const char **_XklXmmGetGroupNames( void )
return (const char **)currentXmmConfig.layouts;
}
-void _XklXmmGrabShortcuts( )
+void _XklXmmGrabShortcuts( void )
{
int i;
XmmShortcutPtr shortcut;
@@ -45,7 +45,7 @@ void _XklXmmGrabShortcuts( )
}
}
-void _XklXmmUngrabShortcuts( )
+void _XklXmmUngrabShortcuts( void )
{
int i;
XmmShortcutPtr shortcut;
@@ -63,13 +63,13 @@ void _XklXmmUngrabShortcuts( )
}
}
-const XmmSwitchOptionPtr _XklXmmGetCurrentShortcut()
+XmmSwitchOptionPtr _XklXmmGetCurrentShortcut( void )
{
const char* optionName = _XklXmmGetCurrentShortcutOptionName();
+ XmmSwitchOptionPtr switchOption = allSwitchOptions;
XklDebug( 150, "Configured switch option: [%s]\n", optionName );
if( optionName == NULL )
return NULL;
- XmmSwitchOptionPtr switchOption = allSwitchOptions;
while( switchOption->optionName != NULL )
{
if( !strcmp( switchOption->optionName, optionName ) )
@@ -79,7 +79,7 @@ const XmmSwitchOptionPtr _XklXmmGetCurrentShortcut()
return NULL;
}
-const char* _XklXmmGetCurrentShortcutOptionName( )
+const char* _XklXmmGetCurrentShortcutOptionName( void )
{
int i;
char** option = currentXmmConfig.options;
@@ -94,7 +94,7 @@ const char* _XklXmmGetCurrentShortcutOptionName( )
return NULL;
}
-const XmmSwitchOptionPtr _XklXmmFindSwitchOption( unsigned keycode,
+XmmSwitchOptionPtr _XklXmmFindSwitchOption( unsigned keycode,
unsigned state,
int* currentShortcut_rv )
{
@@ -116,14 +116,14 @@ const XmmSwitchOptionPtr _XklXmmFindSwitchOption( unsigned keycode,
return NULL;
}
-int _XklXmmResumeListen( )
+int _XklXmmResumeListen( void )
{
if( _xklListenerType & XKLL_MANAGE_LAYOUTS )
_XklXmmGrabShortcuts();
return 0;
}
-int _XklXmmPauseListen( )
+int _XklXmmPauseListen( void )
{
if( _xklListenerType & XKLL_MANAGE_LAYOUTS )
_XklXmmUngrabShortcuts();
@@ -140,7 +140,7 @@ unsigned _XklXmmGetNumGroups( void )
return currentXmmConfig.numLayouts;
}
-void _XklXmmFreeAllInfo( )
+void _XklXmmFreeAllInfo( void )
{
if( currentXmmRules != NULL )
{
diff --git a/tests/test_config.c b/tests/test_config.c
index cd5fe86..6d062d0 100644
--- a/tests/test_config.c
+++ b/tests/test_config.c
@@ -19,7 +19,7 @@ extern void XklConfigDump( FILE* file,
enum { ACTION_NONE, ACTION_GET, ACTION_SET, ACTION_WRITE };
-static void printUsage()
+static void printUsage(void)
{
printf( "Usage: test_config (-g)|(-s -m <model> -l <layouts> -o <options>)|(-h)|(-ws)|(-wb)(-d <debugLevel>)\n" );
printf( "Options:\n" );