MCPcopy Create free account
hub / github.com/Pulse-Eight/libcec / ProcessCommandLineArguments

Function ProcessCommandLineArguments

src/cec-client/cec-client.cpp:1060–1310  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1058}
1059
1060bool ProcessCommandLineArguments(int argc, char *argv[])
1061{
1062 bool bReturn(true);
1063 int iArgPtr = 1;
1064 while (iArgPtr < argc && bReturn)
1065 {
1066 if (argc >= iArgPtr + 1)
1067 {
1068 if (!strcmp(argv[iArgPtr], "-f") ||
1069 !strcmp(argv[iArgPtr], "--log-file") ||
1070 !strcmp(argv[iArgPtr], "-sf") ||
1071 !strcmp(argv[iArgPtr], "--short-log-file"))
1072 {
1073 if (argc >= iArgPtr + 2)
1074 {
1075 g_logOutput.open(argv[iArgPtr + 1]);
1076 g_bShortLog = (!strcmp(argv[iArgPtr], "-sf") || !strcmp(argv[iArgPtr], "--short-log-file"));
1077 iArgPtr += 2;
1078 }
1079 else
1080 {
1081 std::cout << "== skipped log-file parameter: no file given ==" << std::endl;
1082 ++iArgPtr;
1083 }
1084 }
1085 else if (!strcmp(argv[iArgPtr], "-d") ||
1086 !strcmp(argv[iArgPtr], "--log-level"))
1087 {
1088 if (argc >= iArgPtr + 2)
1089 {
1090 int iNewLevel = atoi(argv[iArgPtr + 1]);
1091 if (iNewLevel >= CEC_LOG_ERROR && iNewLevel <= CEC_LOG_ALL)
1092 {
1093 g_cecLogLevel = iNewLevel;
1094 if (!g_bSingleCommand)
1095 std::cout << "log level set to " << argv[iArgPtr + 1] << std::endl;
1096 }
1097 else
1098 {
1099 std::cout << "== skipped log-level parameter: invalid level '" << argv[iArgPtr + 1] << "' ==" << std::endl;
1100 }
1101 iArgPtr += 2;
1102 }
1103 else
1104 {
1105 std::cout << "== skipped log-level parameter: no level given ==" << std::endl;
1106 ++iArgPtr;
1107 }
1108 }
1109 else if (!strcmp(argv[iArgPtr], "-t") ||
1110 !strcmp(argv[iArgPtr], "--type"))
1111 {
1112 if (argc >= iArgPtr + 2)
1113 {
1114 if (!strcmp(argv[iArgPtr + 1], "p"))
1115 {
1116 if (!g_bSingleCommand)
1117 std::cout << "== using device type 'playback device'" << std::endl;

Callers 1

mainFunction · 0.85

Calls 11

LibCecInitialiseFunction · 0.85
PrintToStdOutFunction · 0.85
UnloadLibCecFunction · 0.85
ListDevicesFunction · 0.85
LibCecBootloaderFunction · 0.85
ShowHelpCommandLineFunction · 0.85
AddMethod · 0.80
GetLibInfoMethod · 0.80
SetInputMethod · 0.80
SetOutputMethod · 0.80
VersionToStringMethod · 0.45

Tested by

no test coverage detected