VirtualBox

Ignore:
Timestamp:
Mar 14, 2024 5:01:42 PM (14 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162229
Message:

FE/VBoxAutostart: Made it easier to use on Windows by printing out the syntax help if an invalid (or no) command is being specified. Fixed missing newlines for error output.

Location:
trunk/src/VBox/Frontends/VBoxAutostart
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxAutostart/VBoxAutostart-win.cpp

    r99828 r103858  
    112112*********************************************************************************************************************************/
    113113static SC_HANDLE autostartSvcWinOpenSCManager(const char *pszAction, DWORD dwAccess);
     114static RTEXITCODE autostartSvcWinShowHelp(void);
     115
    114116
    115117static int autostartGetProcessDomainUser(com::Utf8Str &aUser)
     
    11001102            }
    11011103            else
    1102                 autostartSvcLogError("RTSemEventMultiCreate failed, rc=%Rrc", rc);
     1104                autostartSvcLogError("RTSemEventMultiCreate failed, rc=%Rrc\n", rc);
    11031105        }
    11041106        else
     
    12201222                catch (...)
    12211223                {
    1222                     autostartSvcLogError("runit failed, service name is not valid UTF-8 string or out of memory");
     1224                    autostartSvcLogError("runit failed, service name is not valid UTF-8 string or out of memory\n");
    12231225                    return RTEXITCODE_FAILURE;
    12241226                }
     
    12321234    if (!pszServiceName)
    12331235    {
    1234         autostartSvcLogError("runit failed, service name is missing");
     1236        autostartSvcLogError("runit failed, service name is missing\n");
    12351237        return RTEXITCODE_SYNTAX;
    12361238    }
     
    13721374    if (RT_FAILURE(rc))
    13731375    {
    1374         autostartSvcLogError("RTR3InitExe failed with rc=%Rrc", rc);
     1376        autostartSvcLogError("RTR3InitExe failed with rc=%Rrc\n", rc);
    13751377        return RTEXITCODE_FAILURE;
    13761378    }
     
    13811383    enum
    13821384    {
    1383         kAutoSvcAction_RunIt,
     1385        kAutoSvcAction_RunIt, /* Default action, also called by SCM. */
    13841386
    13851387        kAutoSvcAction_Create,
     
    14601462    {
    14611463        case kAutoSvcAction_RunIt:
    1462             return autostartSvcWinRunIt(argc - iArg, argv + iArg);
     1464        {
     1465            RTEXITCODE const rcExit = autostartSvcWinRunIt(argc - iArg, argv + iArg);
     1466            if (rcExit == RTEXITCODE_SYNTAX) /* When called by a user (e.g. w/o specifying any command, print our syntax help. */
     1467                autostartSvcWinShowHelp();
     1468            return rcExit;
     1469        }
    14631470
    14641471        case kAutoSvcAction_Create:
     
    14891496        default:
    14901497            AssertMsgFailed(("enmAction=%d\n", enmAction));
    1491             return RTEXITCODE_FAILURE;
    1492     }
    1493 }
     1498    }
     1499
     1500    return RTEXITCODE_FAILURE;
     1501}
  • trunk/src/VBox/Frontends/VBoxAutostart/VBoxAutostartUtils.cpp

    r98103 r103858  
    234234{
    235235    RT_NOREF(pValue);
    236     autostartSvcLogError("%s - RTGetOpt failure, %Rrc (%d): %s", pszAction, rc, rc, iArg < argc ? argv[iArg] : "<null>");
     236    autostartSvcLogError("%s - RTGetOpt failure, %Rrc (%d): %s\n", pszAction, rc, rc, iArg < argc ? argv[iArg] : "<null>");
    237237    return RTEXITCODE_SYNTAX;
    238238}
     
    241241{
    242242    AssertReturn(iArg < argc, RTEXITCODE_FAILURE);
    243     autostartSvcLogError("%s - Too many arguments: %s", pszAction, argv[iArg]);
     243    autostartSvcLogError("%s - Too many arguments: %s\n", pszAction, argv[iArg]);
    244244    for ( ; iArg < argc; iArg++)
    245245        LogRel(("arg#%i: %s\n", iArg, argv[iArg]));
     
    251251    RTStrmPrintf(g_pStdErr, "Error: ");
    252252    RTStrmPrintfV(g_pStdErr, pszFormat, va);
    253     Log(("autostartSvcDisplayErrorV: %s", pszFormat)); /** @todo format it! */
     253    Log(("autostartSvcDisplayErrorV: %s\n", pszFormat)); /** @todo format it! */
    254254    return RTEXITCODE_FAILURE;
    255255}
     
    268268    char szMsg[4096];
    269269    RTGetOptFormatError(szMsg, sizeof(szMsg), rc, pValue);
    270     autostartSvcDisplayError("%s - %s", pszAction, szMsg);
     270    autostartSvcDisplayError("%s - %s\n", pszAction, szMsg);
    271271    return RTEXITCODE_SYNTAX;
    272272}
Note: See TracChangeset for help on using the changeset viewer.

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