| 1342 | // main program, however here each switch has been prefixed with an 'X'. |
| 1343 | |
| 1344 | int NProcessSwitchesX(int argc, char **argv, int pos, |
| 1345 | flag fOr, flag fAnd, flag fNot) |
| 1346 | { |
| 1347 | int darg = 0, i, j; |
| 1348 | real rT; |
| 1349 | char ch1, ch2; |
| 1350 | |
| 1351 | ch1 = argv[0][pos+1]; |
| 1352 | ch2 = ch1 == chNull ? chNull : argv[0][pos+2]; |
| 1353 | switch (argv[0][pos]) { |
| 1354 | case chNull: |
| 1355 | break; |
| 1356 | |
| 1357 | case 'b': |
| 1358 | if (us.fNoWrite || is.fSzInteract) { |
| 1359 | ErrorArgv("Xb"); |
| 1360 | return tcError; |
| 1361 | } |
| 1362 | ch1 = ChCap(ch1); |
| 1363 | if (ch1 == 'B') |
| 1364 | gi.fBmp = fFalse; |
| 1365 | else if (ch1 == 'W') { |
| 1366 | ch1 = 'B'; |
| 1367 | gi.fBmp = fTrue; |
| 1368 | } else if (ch1 == 'P') |
| 1369 | gi.fBmp = fTrue; |
| 1370 | if (FValidBmpmode(ch1)) |
| 1371 | gs.chBmpMode = ch1; |
| 1372 | gs.ft = FSwitchF2(gs.ft == ftBmp) * ftBmp; |
| 1373 | break; |
| 1374 | |
| 1375 | #ifdef PS |
| 1376 | case 'p': |
| 1377 | if (us.fNoWrite || is.fSzInteract) { |
| 1378 | ErrorArgv("Xp"); |
| 1379 | return tcError; |
| 1380 | } |
| 1381 | gs.ft = FSwitchF2(gs.ft == ftPS) * ftPS; |
| 1382 | gs.fPSComplete = (ch1 == '0'); |
| 1383 | break; |
| 1384 | #endif |
| 1385 | |
| 1386 | case 'M': |
| 1387 | if (FBetween(ch1, '1', '0' + cRing)) { |
| 1388 | i = (ch1 - '0') + (ch2 == '0'); |
| 1389 | if (FErrorArgc("XM", argc, i)) |
| 1390 | return tcError; |
| 1391 | for (j = 1; j <= i; j++) |
| 1392 | FCloneSz(argv[j], &szWheelX[(ch2 == '0' && j >= i) ? 0 : j]); |
| 1393 | darg += i; |
| 1394 | break; |
| 1395 | } |
| 1396 | #ifdef META |
| 1397 | if (us.fNoWrite || is.fSzInteract) { |
| 1398 | ErrorArgv("XM"); |
| 1399 | return tcError; |
| 1400 | } |
| 1401 | gs.ft = FSwitchF2(gs.ft == ftWmf) * ftWmf; |
no test coverage detected