--- dmdscript/testscript.d.orig 2005-01-18 03:17:02.000000000 +0100 +++ dmdscript/testscript.d 2005-01-20 22:15:04.000000000 +0100 @@ -74,6 +74,7 @@ { uint i; uint errors = 0; + char[][] errortxt; char[][] includes; SrcFile[] srcfiles; char *p; @@ -81,8 +82,6 @@ bool verbose; ErrInfo errinfo; - fwritefln(stderr, dmdscript.script.banner()); - for (i = 1; i < args.length; i++) { char[] p = args[i]; @@ -100,7 +99,7 @@ break; default: - writefln(errmsgtbl[ERR_BAD_SWITCH],p); + errortxt ~= format(errmsgtbl[ERR_BAD_SWITCH], p); errors++; break; } @@ -111,14 +110,22 @@ includes = null; } } + + if (verbose) + fwritefln(stderr, dmdscript.script.banner()); + if (errors) + { + foreach(char[] err; errortxt) { writefln(err); } return EXITCODE_INVALID_ARGS; + } if (srcfiles.length == 0) { srcfiles ~= new SrcFile("test", null); } + if (verbose) fwritefln(stderr, "%d source files", srcfiles.length); // Read files, parse them, execute them