VirtualBox

Changeset 32023 in vbox


Ignore:
Timestamp:
Aug 27, 2010 8:56:34 AM (14 years ago)
Author:
vboxsync
Message:

VBoxControl: Be more tolerant to Linux-style parameters (--foo instead of -foo).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxControl/VBoxControl.cpp

    r31052 r32023  
    621621    /* must have exactly one argument: the new offset */
    622622    if (   (argc != 1)
    623         || (   strcmp(argv[0], "on")
    624             && strcmp(argv[0], "off")))
     623        || (   RTStrICmp(argv[0], "on")
     624            && RTStrICmp(argv[0], "off")))
    625625    {
    626626        usage(SET_VIDEO_ACCEL);
     
    633633    {
    634634        int fAccel = 0;
    635         if (!strcmp(argv[0], "on"))
     635        if (RTStrICmp(argv[0], "on") == 0)
    636636            fAccel = 1;
    637637        /* set a new value */
     
    894894    using namespace guestProp;
    895895
    896     bool verbose = false;
    897     if ((2 == argc) && (0 == strcmp(argv[1], "-verbose")))
    898         verbose = true;
     896    bool fVerbose = false;
     897    if (   2 == argc
     898        && (   RTStrICmp(argv[1], "-verbose")  == 0
     899            || RTStrICmp(argv[1], "--verbose") == 0))
     900    {
     901        fVerbose = true;
     902    }
    899903    else if (argc != 1)
    900904    {
     
    910914        VBoxControlError("Failed to connect to the guest property service, error %Rrc\n", rc);
    911915
    912 /*
    913  * Here we actually retrieve the value from the host.
    914  */
     916    /*
     917     * Here we actually retrieve the value from the host.
     918     */
    915919    const char *pszName = argv[0];
    916920    char *pszValue = NULL;
     
    954958            VBoxControlError("Failed to retrieve the property value, error %Rrc\n", rc);
    955959    }
    956 /*
    957  * And display it on the guest console.
    958  */
     960
     961    /*
     962     * And display it on the guest console.
     963     */
    959964    if (VERR_NOT_FOUND == rc)
    960965        RTPrintf("No value set!\n");
     
    962967    {
    963968        RTPrintf("Value: %S\n", pszValue);
    964         if (verbose)
     969        if (fVerbose)
    965970        {
    966971            RTPrintf("Timestamp: %lld ns\n", u64Timestamp);
     
    985990static int setGuestProperty(int argc, char *argv[])
    986991{
    987 /*
    988  * Check the syntax.  We can deduce the correct syntax from the number of
    989  * arguments.
    990  */
     992    /*
     993     * Check the syntax.  We can deduce the correct syntax from the number of
     994     * arguments.
     995     */
    991996    bool usageOK = true;
    992997    const char *pszName = NULL;
     
    10021007    {
    10031008        pszValue = argv[1];
    1004         if (strcmp(argv[2], "-flags") != 0)
     1009        if (   RTStrICmp(argv[2], "-flags") != 0
     1010            && RTStrICmp(argv[2], "--flags") != 0)
    10051011            usageOK = false;
    10061012        pszFlags = argv[3];
     
    10161022    pszName = argv[0];
    10171023
    1018 /*
    1019  * Do the actual setting.
    1020  */
     1024    /*
     1025     * Do the actual setting.
     1026     */
    10211027    uint32_t u32ClientId = 0;
    10221028    int rc = VINF_SUCCESS;
     
    10561062    uint32_t cPatterns = 0;
    10571063    if (    argc > 1
    1058         && !strcmp(argv[0], "-patterns"))
     1064        && (   RTStrICmp(argv[0], "-patterns") == 0)
     1065            || RTStrICmp(argv[0], "--patterns") == 0)
    10591066    {
    10601067        papszPatterns = (char const * const *)&argv[1];
     
    11291136    for (int i = 1; usageOK && i < argc; ++i)
    11301137    {
    1131         if (strcmp(argv[i], "-timeout") == 0)
     1138        if (   RTStrICmp(argv[i], "-timeout")  == 0
     1139            || RTStrICmp(argv[i], "--timeout") == 0)
    11321140        {
    11331141            if (   i + 1 >= argc
     
    11391147                ++i;
    11401148        }
    1141         else if (strcmp(argv[i], "-timestamp") == 0)
     1149        else if (   RTStrICmp(argv[i], "-timestamp")  == 0
     1150                 || RTStrICmp(argv[i], "--timestamp") == 0)
    11421151        {
    11431152            if (   i + 1 >= argc
     
    12161225#endif
    12171226    }
    1218 /*
    1219  * And display it on the guest console.
    1220  */
     1227
     1228    /*
     1229     * And display it on the guest console.
     1230     */
    12211231    if (VERR_NOT_FOUND == rc)
    12221232        RTPrintf("No value set!\n");
     
    12521262        return 1;
    12531263    }
    1254     if (0 == strcmp(argv[0], "get"))
     1264    if (0 == RTStrICmp(argv[0], "get"))
    12551265        return getGuestProperty(argc - 1, argv + 1);
    1256     else if (0 == strcmp(argv[0], "set"))
     1266    else if (0 == RTStrICmp(argv[0], "set"))
    12571267        return setGuestProperty(argc - 1, argv + 1);
    1258     else if (0 == strcmp(argv[0], "enumerate"))
     1268    else if (0 == RTStrICmp(argv[0], "enumerate"))
    12591269        return enumGuestProperty(argc - 1, argv + 1);
    1260     else if (0 == strcmp(argv[0], "wait"))
     1270    else if (0 == RTStrICmp(argv[0], "wait"))
    12611271        return waitGuestProperty(argc - 1, argv + 1);
    12621272    /* else */
     
    12761286    if (argc == 1)
    12771287    {
    1278         if (   RTStrICmp(argv[0], "-automount") == 0
    1279             || RTStrICmp(argv[0], "/automount") == 0)
     1288        if (   RTStrICmp(argv[0], "-automount")  == 0
     1289            || RTStrICmp(argv[0], "--automount") == 0
     1290           )
    12801291        {
    12811292            fOnlyShowAutoMount = true;
     
    13471358        return 1;
    13481359    }
    1349     if (0 == strcmp(argv[0], "list"))
     1360    if (0 == RTStrICmp(argv[0], "list"))
    13501361        return listSharedFolders(argc - 1, argv + 1);
    13511362    /* else */
     
    13931404    int iArg = 1;
    13941405    /** Should we show the logo text? */
    1395     bool showlogo = true;
     1406    bool fShowLogo = true;
    13961407    /** Should we print the usage after the logo?  For the -help switch. */
    1397     bool dohelp = false;
     1408    bool fDoHelp = false;
    13981409    /** Will we be executing a command or just printing information? */
    1399     bool onlyinfo = false;
    1400 
    1401 /*
    1402  * Start by handling command line switches
    1403  */
     1410    bool fOnlyInfo = false;
     1411
     1412    /*
     1413     * Start by handling command line switches
     1414     */
    14041415
    14051416    /** Are we finished with handling switches? */
     
    14071418    while (!done && (iArg < argc))
    14081419    {
    1409         if (   (0 == strcmp(argv[iArg], "-v"))
    1410             || (0 == strcmp(argv[iArg], "--version"))
    1411             || (0 == strcmp(argv[iArg], "-version"))
    1412             || (0 == strcmp(argv[iArg], "getversion"))
     1420        if (   0 == RTStrICmp(argv[iArg], "-v")
     1421            || 0 == RTStrICmp(argv[iArg], "--version")
     1422            || 0 == RTStrICmp(argv[iArg], "-version")
     1423            || 0 == RTStrICmp(argv[iArg], "getversion")
    14131424           )
    14141425            {
    14151426                /* Print version number, and do nothing else. */
    14161427                RTPrintf("%sr%u\n", VBOX_VERSION_STRING, RTBldCfgRevision());
    1417                 onlyinfo = true;
    1418                 showlogo = false;
     1428                fOnlyInfo = true;
     1429                fShowLogo = false;
    14191430                done = true;
    14201431            }
    1421         else if (0 == strcmp(argv[iArg], "-nologo"))
    1422             showlogo = false;
    1423         else if (0 == strcmp(argv[iArg], "-help"))
    1424         {
    1425             onlyinfo = true;
    1426             dohelp = true;
     1432        else if (   0 == RTStrICmp(argv[iArg], "-nologo")
     1433                 || 0 == RTStrICmp(argv[iArg], "--nologo"))
     1434            fShowLogo = false;
     1435        else if (   0 == RTStrICmp(argv[iArg], "-help")
     1436                 || 0 == RTStrICmp(argv[iArg], "--help"))
     1437        {
     1438            fOnlyInfo = true;
     1439            fDoHelp = true;
    14271440            done = true;
    14281441        }
     
    14351448    }
    14361449
    1437 /*
    1438  * Find the application name, show our logo if the user hasn't suppressed it,
    1439  * and show the usage if the user asked us to
    1440  */
     1450    /*
     1451     * Find the application name, show our logo if the user hasn't suppressed it,
     1452     * and show the usage if the user asked us to
     1453     */
    14411454
    14421455    g_pszProgName = RTPathFilename(argv[0]);
    1443     if (showlogo)
     1456    if (fShowLogo)
    14441457        RTPrintf(VBOX_PRODUCT " Guest Additions Command Line Management Interface Version "
    14451458                 VBOX_VERSION_STRING "\n"
    14461459                 "(C) 2008-" VBOX_C_YEAR " " VBOX_VENDOR "\n"
    14471460                 "All rights reserved.\n\n");
    1448     if (dohelp)
     1461    if (fDoHelp)
    14491462        usage();
    14501463
    1451 /*
    1452  * Do global initialisation for the programme if we will be handling a command
    1453  */
    1454 
    1455     if (!onlyinfo)
     1464    /*
     1465     * Do global initialisation for the programme if we will be handling a command
     1466     */
     1467
     1468    if (!fOnlyInfo)
    14561469    {
    14571470        rrc = RTR3Init(); /** @todo r=bird: This ALWAYS goes first, the only exception is when you have to parse args to figure out which to call! */
     
    14731486    }
    14741487
    1475 /*
    1476  * Now look for an actual command in the argument list and handle it.
    1477  */
    1478 
    1479     if (!onlyinfo && (0 == rc))
     1488    /*
     1489     * Now look for an actual command in the argument list and handle it.
     1490     */
     1491
     1492    if (!fOnlyInfo && (0 == rc))
    14801493    {
    14811494        /*
     
    15011514                   && (g_commandHandlers[index].command != NULL))
    15021515            {
    1503                 if (0 == strcmp(argv[iArg], g_commandHandlers[index].command))
     1516                if (0 == RTStrICmp(argv[iArg], g_commandHandlers[index].command))
    15041517                    found = true;
    15051518                else
     
    15291542    }
    15301543
    1531 /*
    1532  * And exit, returning the status
    1533  */
     1544    /*
     1545     * And exit, returning the status
     1546     */
    15341547
    15351548    return rc;
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