aboutsummaryrefslogtreecommitdiff
path: root/project/src/wmdlt.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--project/src/wmdlt.c59
1 files changed, 38 insertions, 21 deletions
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;