+ int iArgPtr = 1;
+ while (iArgPtr < argc)
+ {
+ if (argc >= iArgPtr + 1)
+ {
+ if (!strcmp(argv[iArgPtr], "-f") ||
+ !strcmp(argv[iArgPtr], "--log-file") ||
+ !strcmp(argv[iArgPtr], "-sf") ||
+ !strcmp(argv[iArgPtr], "--short-log-file"))
+ {
+ if (argc >= iArgPtr + 2)
+ {
+ g_logOutput.open(argv[iArgPtr + 1]);
+ g_bShortLog = (!strcmp(argv[iArgPtr], "-sf") || !strcmp(argv[iArgPtr], "--short-log-file"));
+ iArgPtr += 2;
+ }
+ else
+ {
+ cout << "== skipped log-file parameter: no file given ==" << endl;
+ ++iArgPtr;
+ }
+ }
+ else if (!strcmp(argv[iArgPtr], "-d") ||
+ !strcmp(argv[iArgPtr], "--log-level"))
+ {
+ if (argc >= iArgPtr + 2)
+ {
+ int iNewLevel = atoi(argv[iArgPtr + 1]);
+ if (iNewLevel >= CEC_LOG_ERROR && iNewLevel <= CEC_LOG_ALL)
+ {
+ g_cecLogLevel = iNewLevel;
+ cout << "log level set to " << argv[iArgPtr + 1] << endl;
+ }
+ else
+ {
+ cout << "== skipped log-level parameter: invalid level '" << argv[iArgPtr + 1] << "' ==" << endl;
+ }
+ iArgPtr += 2;
+ }
+ else
+ {
+ cout << "== skipped log-level parameter: no level given ==" << endl;
+ ++iArgPtr;
+ }
+ }
+ else if (!strcmp(argv[iArgPtr], "-la") ||
+ !strcmp(argv[iArgPtr], "--logical-address"))
+ {
+ if (argc >= iArgPtr + 2)
+ {
+ int iNewAddress = atoi(argv[iArgPtr + 1]);
+ if (iNewAddress >= 0 && iNewAddress <= 15)
+ {
+ g_iLogicalAddress = iNewAddress;
+ cout << "logical address set to " << argv[iArgPtr + 1] << endl;
+ }
+ else
+ {
+ cout << "== skipped logical-address parameter: invalid address '" << argv[iArgPtr + 1] << "' ==" << endl;
+ }
+ iArgPtr += 2;
+ }
+ else
+ {
+ cout << "== skipped logical-address parameter: no address given ==" << endl;
+ ++iArgPtr;
+ }
+ }
+ else if (!strcmp(argv[iArgPtr], "--list-devices") ||
+ !strcmp(argv[iArgPtr], "-l"))
+ {
+ list_devices(parser);
+ UnloadLibCec(parser);
+ return 0;
+ }
+ else if (!strcmp(argv[iArgPtr], "--help") ||
+ !strcmp(argv[iArgPtr], "-h"))
+ {
+ show_help(argv[0]);
+ UnloadLibCec(parser);
+ return 0;
+ }
+ else
+ {
+ g_strPort = argv[iArgPtr++];
+ }
+ }
+ }
+
+ if (g_strPort.IsEmpty())