diff options
Diffstat (limited to 'soltools/checkdll/checkdll.c')
-rw-r--r-- | soltools/checkdll/checkdll.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/soltools/checkdll/checkdll.c b/soltools/checkdll/checkdll.c index 85f526c4632f..722aa7ba979b 100644 --- a/soltools/checkdll/checkdll.c +++ b/soltools/checkdll/checkdll.c @@ -47,33 +47,39 @@ static const char *psymbol = "GetVersionInfo"; void usage() { - fprintf(stderr, "usage: %s <dllname>\n", pprog_name); + fprintf(stderr, "usage: %s [-s] <dllname>\n", pprog_name); return; } int main(int argc, char *argv[]) { int rc; + int silent=0; void *phandle; char *(*pfun)(void); - if ( argc < 2 || argc > 3) { + if ( argc < 2 || argc > 4) { usage(); return 1; } + if ( !strcmp(argv[1],"-s") ) { + silent = 1; + ++argv, --argc; + } + if ( (rc = access( argv[1], R_OK )) == -1 ) { fprintf(stderr, "%s: ERROR: %s: %s\n", pprog_name, argv[1], strerror(errno)); return 2; } - printf("Checking DLL %s ...", argv[1]); + if (!silent) printf("Checking DLL %s ...", argv[1]); fflush(stdout); if ( (phandle = dlopen(argv[1], RTLD_NOW)) != NULL ) { if ( (pfun = (char *(*)(void))dlsym(phandle, psymbol)) != NULL ) { - printf(": ok\n"); + if (!silent) printf(": ok\n"); } else { |