diff options
| author | Wiimm <wiimm@wiimm.de> | 2023-07-22 22:40:04 +0200 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2023-07-22 22:40:04 +0200 |
| commit | 7a4ee26983b941ce0a8f72bcc02bf5566e9a7886 (patch) | |
| tree | 202755942a4d5b67bedcd9f3c21eb2ababf8dd79 /project/src/lib-xbmg.c | |
| parent | b5b1fe7fc0cf460d6204c18ba7bb4c40f7597efa (diff) | |
SZS v2.36a
Diffstat (limited to '')
| -rw-r--r-- | project/src/lib-xbmg.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/project/src/lib-xbmg.c b/project/src/lib-xbmg.c index 222ba70..09c8316 100644 --- a/project/src/lib-xbmg.c +++ b/project/src/lib-xbmg.c @@ -323,7 +323,7 @@ enumError LoadXBMG if ( allow_archive && IsArchiveFF(szs.fform_arch) ) { bmg->src_is_arch = true; - IterateFilesParSZS(&szs,read_bmg,bmg,false,false,0,-1,SORT_NONE); + IterateFilesParSZS(&szs,read_bmg,bmg,false,false,false,0,-1,SORT_NONE); bmg->fname = szs.fname; szs.fname = 0; ResetSZS(&szs); @@ -380,7 +380,7 @@ enumError ScanRawDataBMG AssignSZS(&szs,true,raw->data,raw->data_size,false,raw->fform,bmg->fname); szs.fname = raw->fname; raw->fname = 0; - IterateFilesParSZS(&szs,read_bmg,bmg,false,false,0,-1,SORT_NONE); + IterateFilesParSZS(&szs,read_bmg,bmg,false,false,false,0,-1,SORT_NONE); bmg->fname = szs.fname; szs.fname = 0; noPRINT("BMG/FNAME=%s\n",bmg->fname); @@ -1314,11 +1314,14 @@ enumError cmd_bmg_cat ( bool mix ) uint mix_count = 0; 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_SUB); + + for ( int argi = 0; argi < plist.used; argi++ ) { - NORMALIZE_FILENAME_PARAM(param); - enumError err = LoadRawData(&raw,false,param->arg,0,opt_ignore>0,FF_BMG); + ccp arg = plist.field[argi]; + enumError err = LoadRawData(&raw,false,arg,0,opt_ignore>0,FF_BMG); if ( err == ERR_NOT_EXISTS || err > ERR_WARNING && opt_ignore ) continue; @@ -1369,6 +1372,7 @@ enumError cmd_bmg_cat ( bool mix ) return err; } + ResetStringField(&plist); ResetBMG(&mix_bmg); ResetRawData(&raw); return cmd_err; |
