[WCX] Call ProcessFileW also for directories

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
remittor
Junior Member
Junior Member
Posts: 49
Joined: 2019-10-02, 07:18 UTC

[WCX] Call ProcessFileW also for directories

Post by *remittor »

Now TotalCmd itself creates directories and set Modified Time.

But in my WCX-plugin I want to set other times for directories (ctime and atime).
remittor
Junior Member
Junior Member
Posts: 49
Joined: 2019-10-02, 07:18 UTC

Re: [WCX] Call ProcessFileW also for directories

Post by *remittor »

Approximate algorithm:

Code: Select all

struct wcx_cache_item * file_item;
tHeaderDataEx  headerData;

while(wcx->ReadHeaderEx(wcx->hArcData, &headerData) != E_END_ARCHIVE) {
  file_item = wcx->cache->find_by_name(headerData.FileName);
  if (!file_item)
    continue;
  DestName = create_dest_name(DestPath, headerData.FileName);
  if (file_item->is_dir()) {
    CreateDirectoryW(DestName);
    /*wcx->ProcessFileW(wcx->hArcData, PK_SKIP, NULL, NULL);*/   // current version
    wcx->ProcessFileW(wcx->hArcData, PK_EXTRACT, NULL, DestName);   // proposed version
  } else {
    wcx->ProcessFileW(wcx->hArcData, PK_EXTRACT, NULL, DestName);
  }
}
remittor
Junior Member
Junior Member
Posts: 49
Joined: 2019-10-02, 07:18 UTC

Re: [WCX] Hack ProcessFileW for directories

Post by *remittor »

I made a workaround to solve this problem:

GitHub project PAXZ.WCX

This hack works stably!
Post Reply