From 7a4ee26983b941ce0a8f72bcc02bf5566e9a7886 Mon Sep 17 00:00:00 2001 From: Wiimm Date: Sat, 22 Jul 2023 22:40:04 +0200 Subject: SZS v2.36a --- project/src/wmdlt.c | 59 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 21 deletions(-) (limited to 'project/src/wmdlt.c') diff --git a/project/src/wmdlt.c b/project/src/wmdlt.c index 0b451bf..eae195b 100644 --- a/project/src/wmdlt.c +++ b/project/src/wmdlt.c @@ -227,11 +227,13 @@ static enumError cmd_cat() InitializeRawData(&raw); enumError cmd_err = ERR_OK; - ParamList_t *param; - for ( param = first_param; param; param = param->next ) + StringField_t plist = {0}; + CollectExpandParam(&plist,first_param,-1,WM__DEFAULT); + + for ( int argi = 0; argi < plist.used; argi++ ) { - NORMALIZE_FILENAME_PARAM(param); - enumError err = LoadRawData(&raw,false,param->arg,0,opt_ignore>0,0); + ccp arg = plist.field[argi]; + enumError err = LoadRawData(&raw,false,arg,0,opt_ignore>0,0); if ( err == ERR_NOT_EXISTS || err > ERR_WARNING && opt_ignore ) continue; if ( err > ERR_WARNING ) @@ -262,6 +264,7 @@ static enumError cmd_cat() #endif } + ResetStringField(&plist); ResetRawData(&raw); return cmd_err; } @@ -278,11 +281,13 @@ static enumError cmd_convert ( int cmd_id, ccp cmd_name, ccp def_path ) raw_data_t raw; InitializeRawData(&raw); - ParamList_t *param; - for ( param = first_param; param; param = param->next ) + StringField_t plist = {0}; + CollectExpandParam(&plist,first_param,-1,WM__DEFAULT); + + for ( int argi = 0; argi < plist.used; argi++ ) { - NORMALIZE_FILENAME_PARAM(param); - enumError err = LoadRawData(&raw,false,param->arg,0,opt_ignore>0,0); + ccp arg = plist.field[argi]; + enumError err = LoadRawData(&raw,false,arg,0,opt_ignore>0,0); if ( err == ERR_NOT_EXISTS || err > ERR_WARNING && opt_ignore ) continue; if ( err > ERR_WARNING ) @@ -291,7 +296,7 @@ static enumError cmd_convert ( int cmd_id, ccp cmd_name, ccp def_path ) char dest[PATH_MAX]; const file_format_t dest_ff = cmd_id == CMD_ENCODE ? FF_MDL : FF_MDL_TXT; - SubstDest(dest,sizeof(dest),param->arg,opt_dest,def_path, + SubstDest(dest,sizeof(dest),arg,opt_dest,def_path, GetExtFF(dest_ff,0),false); if ( verbose >= 0 || testmode ) @@ -320,6 +325,7 @@ static enumError cmd_convert ( int cmd_id, ccp cmd_name, ccp def_path ) ResetMDL(&mdl); } + ResetStringField(&plist); ResetRawData(&raw); return ERR_OK; } @@ -351,11 +357,13 @@ static enumError cmd_strings() InitializeRawData(&raw); enumError cmd_err = ERR_OK; - ParamList_t *param; - for ( param = first_param; param; param = param->next ) + StringField_t plist = {0}; + CollectExpandParam(&plist,first_param,-1,WM__DEFAULT); + + for ( int argi = 0; argi < plist.used; argi++ ) { - NORMALIZE_FILENAME_PARAM(param); - enumError err = LoadRawData(&raw,false,param->arg,0,opt_ignore>0,0); + ccp arg = plist.field[argi]; + enumError err = LoadRawData(&raw,false,arg,0,opt_ignore>0,0); if ( err == ERR_NOT_EXISTS || err > ERR_WARNING && opt_ignore ) continue; if ( err > ERR_WARNING ) @@ -365,6 +373,7 @@ static enumError cmd_strings() } putchar('\n'); + ResetStringField(&plist); ResetRawData(&raw); return cmd_err; } @@ -405,11 +414,13 @@ static enumError cmd_geometry() InitializeRawData(&raw); enumError cmd_err = ERR_OK; - ParamList_t *param; - for ( param = first_param; param; param = param->next ) + StringField_t plist = {0}; + CollectExpandParam(&plist,first_param,-1,WM__DEFAULT); + + for ( int argi = 0; argi < plist.used; argi++ ) { - NORMALIZE_FILENAME_PARAM(param); - enumError err = LoadRawData(&raw,false,param->arg,0,opt_ignore>0,0); + ccp arg = plist.field[argi]; + enumError err = LoadRawData(&raw,false,arg,0,opt_ignore>0,0); if ( err == ERR_NOT_EXISTS || err > ERR_WARNING && opt_ignore ) continue; if ( err > ERR_WARNING ) @@ -418,6 +429,7 @@ static enumError cmd_geometry() IterateRawDataMDL(&raw,global_check_mode,iter_geometry,0); } + ResetStringField(&plist); ResetRawData(&raw); return cmd_err; } @@ -491,11 +503,13 @@ static enumError cmd_xtest() InitializeRawData(&raw); enumError cmd_err = ERR_OK; - ParamList_t *param; - for ( param = first_param; param; param = param->next ) + StringField_t plist = {0}; + CollectExpandParam(&plist,first_param,-1,WM__DEFAULT); + + for ( int argi = 0; argi < plist.used; argi++ ) { - NORMALIZE_FILENAME_PARAM(param); - enumError err = LoadRawData(&raw,false,param->arg,0,opt_ignore>0,0); + ccp arg = plist.field[argi]; + enumError err = LoadRawData(&raw,false,arg,0,opt_ignore>0,0); if ( err == ERR_NOT_EXISTS || err > ERR_WARNING && opt_ignore ) continue; if ( err > ERR_WARNING ) @@ -505,6 +519,7 @@ static enumError cmd_xtest() } putchar('\n'); + ResetStringField(&plist); ResetRawData(&raw); return cmd_err; } @@ -606,6 +621,8 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env ) case GO_LONG: long_count++; break; case GO_NO_HEADER: print_header = false; break; case GO_BRIEF: brief_count++; break; + case GO_NO_WILDCARDS: no_wildcards_count++; break; + case GO_IN_ORDER: inorder_count++; break; case GO_NO_PARAM: print_param = false; break; case GO_NO_ECHO: opt_no_echo = true; break; case GO_NO_CHECK: opt_no_check = true; break; -- cgit v1.3.1