aboutsummaryrefslogtreecommitdiff
path: root/project/src/lib-std.c
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2023-05-28 05:52:52 +0200
committerWiimm <wiimm@wiimm.de>2023-05-28 05:52:52 +0200
commit74ac39c1af5c8e85bf10711aed2ffc9dfee2e277 (patch)
treee6cd603f01c3d360c701d6ad5418fe7e133d2c26 /project/src/lib-std.c
parentf978a965248a5a082d6801ef394bdebb55c78e4f (diff)
SZS v2.34a
Diffstat (limited to '')
-rw-r--r--project/src/lib-std.c41
1 files changed, 37 insertions, 4 deletions
diff --git a/project/src/lib-std.c b/project/src/lib-std.c
index 86ffde5..6886b86 100644
--- a/project/src/lib-std.c
+++ b/project/src/lib-std.c
@@ -148,6 +148,7 @@ EncodeMode_t opt_coding64 = ENCODE_OFF;
bool opt_verify = false;
ccp opt_cache = 0;
ccp opt_cname = 0;
+ccp opt_log_cache = 0;
int parallel_count = 0;
bool opt_round = false;
int brief_count = 0;
@@ -2513,20 +2514,38 @@ void CollectExpandParam
(
StringField_t *plist, // insert or append (inorder_count>0) to this list
ParamList_t *param, // first param to add
- int max // max num of param to add; -1: add all param
+ int max, // max num of param to add; -1: add all param
+ uint hidden // bit field:
+ // 1 : allow hidden files
+ // 2 : '+h' and '/h' enables or disables hidden files
)
{
if ( plist && param && max )
{
+ bool allow_hidden = hidden & 1;
for ( ; param; param = param->next )
{
if (*param->arg)
{
+ if ( hidden & 2 )
+ {
+ if (!strcmp(param->arg,"+h"))
+ {
+ allow_hidden = true;
+ continue;
+ }
+ if (!strcmp(param->arg,"_h"))
+ {
+ allow_hidden = false;
+ continue;
+ }
+ }
+
NORMALIZE_FILENAME_PARAM(param);
if ( inorder_count > 0 )
- AppendStringFieldExpand(plist,param->arg,0,false);
+ AppendStringFieldExpand(plist,param->arg,0,allow_hidden);
else
- InsertStringFieldExpand(plist,param->arg,0,false);
+ InsertStringFieldExpand(plist,param->arg,0,allow_hidden);
}
if (!--max)
break;
@@ -2534,6 +2553,20 @@ void CollectExpandParam
}
}
+///////////////////////////////////////////////////////////////////////////////
+
+enumError cmd_wildcards ( int argc, char ** argv )
+{
+ SetupPager();
+ StringField_t plist = {0};
+ CollectExpandParam(&plist,first_param,-1,2);
+
+ for ( int argi = 0; argi < plist.used; argi++ )
+ printf("%s\n",plist.field[argi]);
+ ResetStringField(&plist);
+ return ERR_OK;
+}
+
//
///////////////////////////////////////////////////////////////////////////////
/////////////// tiny support ///////////////
@@ -3932,7 +3965,7 @@ enumError cmd_expand ( int argc, char ** argv )
bool allow_hidden = false;
for ( ParamList_t *param = first_param; param; param = param->next )
{
- if (!strcmp(param->arg,"/h"))
+ if (!strcmp(param->arg,"_h"))
{
allow_hidden = false;
printf("%sIgnore hidden files.%s\n", colout->info, colout->reset );