diff options
| author | Wiimm <wiimm@wiimm.de> | 2022-10-27 12:06:47 +0200 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2022-10-27 12:06:47 +0200 |
| commit | 6d27524f61a141dfa7c1c66b36bcb1f6b5728f3d (patch) | |
| tree | da113ccbfd746abea569d564999bc0038f59fe9f /project/src/wtest.c | |
| parent | 159e76837a2582682d81943b3fa963d72141337f (diff) | |
SZS v2.29a
Diffstat (limited to 'project/src/wtest.c')
| -rw-r--r-- | project/src/wtest.c | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/project/src/wtest.c b/project/src/wtest.c index 2a1570c..f4a23d8 100644 --- a/project/src/wtest.c +++ b/project/src/wtest.c @@ -1268,7 +1268,7 @@ static int test_scan_string ( int argc, char ** argv ) static int test_scan_file ( int argc, char ** argv ) { - static VarMap_t vm = {0}; + static VarMap_t vm = { .force_case = LOUP_UPPER }; if (!vm.used) DefineParserVars(&vm); @@ -4202,6 +4202,55 @@ static enumError test_pf_expand ( int argc, char ** argv ) // /////////////////////////////////////////////////////////////////////////////// +/////////////// test_coded_version() /////////////// +/////////////////////////////////////////////////////////////////////////////// + +static enumError test_coded_version ( int argc, char ** argv ) +{ + if ( argc <= 1 ) + { + printf( "\nSyntax: VERSIONCODE | VC [number]...\n\n"); + exit(1); + } + + int fw = 11; + for ( int i = 1; i < argc; i++ ) + { + const int len = strlen8(argv[i]); + if ( fw < len ) + fw = len; + } + + uint code = GetEncodedVersion(); + printf("\n %-*s %10u %s\n\n",fw+3,"Coded version:",code,DecodeVersion(code)); + + for ( int i = 1; i < argc; i++ ) + { + ccp arg = argv[i]; + if (!strcmp(arg,"-")) + putchar('\n'); + else + { + char *end; + const uint num = str2ul(argv[i],&end,10); + if (*end) + { + uint code = EncodeVersion(arg); + printf(" %-*s -> %10u %s\n",fw,arg,code,DecodeVersion(code)); + } + else + { + ccp vers = DecodeVersion(num); + printf(" %*u -> %10u %s\n",fw,num,EncodeVersion(vers),vers); + } + } + } + putchar('\n'); + return 0; +} + +// +/////////////////////////////////////////////////////////////////////////////// /////////////// develop() /////////////// /////////////////////////////////////////////////////////////////////////////// @@ -4485,6 +4534,7 @@ enum CMD_IS_CHECKSUM, // test_is_checksum(argc,argv) CMD_TEST_PREFIX, // test_test_prefix(argc,argv) CMD_PF_EXPAND, // test_pf_expand(argc,argv) + CMD_CODED_VERSION, // test_coded_version(argc,argv) #ifdef HAVE_WIIMM_EXT CMD_WIIMM, // test_wiimm(argc,argv) @@ -4561,6 +4611,7 @@ static const KeywordTab_t CommandTab[] = { CMD_IS_CHECKSUM, "IS-CHECKSUM", "ICSUM", 0 }, { CMD_TEST_PREFIX, "TEST-PREFIX", "TP", 0 }, { CMD_PF_EXPAND, "PF-EXPAND", "PFE", 0 }, + { CMD_CODED_VERSION, "CVERSION", "CV", 0 }, #ifdef HAVE_WIIMM_EXT { CMD_WIIMM, "WIIMM", "W", 0 }, @@ -4734,6 +4785,7 @@ int main ( int argc, char ** argv ) case CMD_IS_CHECKSUM: test_is_checksum(argc,argv); break; case CMD_TEST_PREFIX: test_test_prefix(argc,argv); break; case CMD_PF_EXPAND: test_pf_expand(argc,argv); break; + case CMD_CODED_VERSION: test_coded_version(argc,argv); break; #ifdef HAVE_WIIMM_EXT case CMD_WIIMM: test_wiimm(argc,argv); break; |
