VirtualBox

Changeset 59228 in vbox


Ignore:
Timestamp:
Dec 29, 2015 2:26:00 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
104856
Message:

GetVBoxUserHomeDirectory: Use RTEnvGetEx when reading XDG_CONFIG_HOME just like we do already for VBOX_USER_HOME. Also, should it or the following path append fail in anyway, fall back on .config/VirtualBox

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/glue/com.cpp

    r57424 r59228  
    5656
    5757#if !defined(RT_OS_DARWIN) && !defined(RT_OS_WINDOWS)
    58 char szXdgConfigHome[RTPATH_MAX] = "";
     58char g_szXdgConfigHome[RTPATH_MAX] = "";
    5959#endif
    6060
     
    6767 * legacy) if none do.
    6868 */
    69 const char *const apcszUserHome[] =
     69const char * const g_apcszUserHome[] =
    7070#ifdef RT_OS_DARWIN
    7171{ "Library/VirtualBox" };
     
    7373{ ".VirtualBox" };
    7474#else
    75 { ".VirtualBox", szXdgConfigHome };
     75{ ".VirtualBox", g_szXdgConfigHome };
    7676#endif
    7777
     
    233233        {
    234234#if !defined(RT_OS_WINDOWS) && !defined(RT_OS_DARWIN)
    235             const char *pcszConfigHome = RTEnvGet("XDG_CONFIG_HOME");
    236             if (pcszConfigHome && pcszConfigHome[0])
     235            vrc = RTEnvGetEx(RTENV_DEFAULT, "XDG_CONFIG_HOME", g_szXdgConfigHome, sizeof(g_szXdgConfigHome), NULL);
     236            if (RT_SUCCESS(vrc))
     237                vrc = RTPathAppend(g_szXdgConfigHome, sizeof(g_szXdgConfigHome), "VirtualBox");
     238            AssertMsg(vrc == VERR_ENV_VAR_NOT_FOUND, ("%Rrc\n", vrc));
     239            if (RT_FAILURE_NP(vrc))
     240                vrc = RTStrCopy(g_szXdgConfigHome, sizeof(g_szXdgConfigHome), ".config/VirtualBox");
     241#endif
     242            for (unsigned i = 0; i < RT_ELEMENTS(g_apcszUserHome); ++i)
    237243            {
    238                 vrc = RTStrCopy(szXdgConfigHome,
    239                                 sizeof(szXdgConfigHome),
    240                                 pcszConfigHome);
    241                 if (RT_SUCCESS(vrc))
    242                     vrc = RTPathAppend(szXdgConfigHome,
    243                                        sizeof(szXdgConfigHome),
    244                                        "VirtualBox");
    245             }
    246             else
    247                 vrc = RTStrCopy(szXdgConfigHome,
    248                                 sizeof(szXdgConfigHome),
    249                                 ".config/VirtualBox");
    250 #endif
    251             for (unsigned i = 0; i < RT_ELEMENTS(apcszUserHome); ++i)
    252             {
    253                 vrc = composeHomePath(aDir, aDirLen, apcszUserHome[i]);
     244                vrc = composeHomePath(aDir, aDirLen, g_apcszUserHome[i]);
    254245                if (   RT_SUCCESS(vrc)
    255246                    && RTDirExists(aDir))
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