VirtualBox

Changeset 3972 in vbox for trunk/src


Ignore:
Timestamp:
Aug 1, 2007 3:50:59 PM (17 years ago)
Author:
vboxsync
Message:

Correction for wildcard-less directory listing

Location:
trunk/src/VBox/HostServices/SharedFolders
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedFolders/testcase/tstShflCase.cpp

    r3970 r3972  
    272272        if (*src == RTPATH_DELIMITER)
    273273        {
    274             pszWildCardComponent = src;
    275             *pszWildCardComponent = 0;
     274            bool fHaveWildcards = false;
     275            char *temp = src;
     276
     277            while(*temp)
     278            {
     279                char uc = *temp;
     280                /** @todo should depend on the guest OS */
     281                if (uc == '*' || uc == '?' || uc == '>' || uc == '<' || uc == '"')
     282                {
     283                    fHaveWildcards = true;
     284                    break;
     285                }
     286                temp++;
     287            }
     288
     289            if (fHaveWildcards)
     290            {
     291                pszWildCardComponent = src;
     292                *pszWildCardComponent = 0;
     293            }
    276294        }
    277295    }
     
    357375
    358376    }
    359     if (fWildCard)
    360     {
    361         Assert(pszWildCardComponent);
     377    if (pszWildCardComponent)
    362378        *pszWildCardComponent = RTPATH_DELIMITER;
    363     }
    364379
    365380    if (VBOX_SUCCESS(rc))
     
    386401    testCase(szTest, true);
    387402    strcpy(szTest, "c:\\TEST dir\\subDiR\\");
    388     testCase(szTest);
     403    testCase(szTest ,true);
    389404    strcpy(szTest, "c:\\test dir\\SUBDIR\\");
    390405    testCase(szTest);
  • trunk/src/VBox/HostServices/SharedFolders/vbsf.cpp

    r3970 r3972  
    325325                if (*src == RTPATH_DELIMITER)
    326326                {
    327                     pszWildCardComponent = src;
    328                     *pszWildCardComponent = 0;
     327                    bool fHaveWildcards = false;
     328                    char *temp = src;
     329
     330                    while(*temp)
     331                    {
     332                        char uc = *temp;
     333                        if (uc == '*' || uc == '?' || uc == '>' || uc == '<' || uc == '"')
     334                        {
     335                            fHaveWildcards = true;
     336                            break;
     337                        }
     338                        temp++;
     339                    }
     340
     341                    if (fHaveWildcards)
     342                    {
     343                        pszWildCardComponent = src;
     344                        *pszWildCardComponent = 0;
     345                    }
    329346                }
    330347            }
     
    410427
    411428            }
    412             if (fWildCard)
    413             {
    414                 Assert(pszWildCardComponent);
     429            if (pszWildCardComponent)
    415430                *pszWildCardComponent = RTPATH_DELIMITER;
    416             }
    417431        }
    418432        *ppszFullPath = pszFullPath;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette