MCPcopy Create free account
hub / github.com/CruiserOne/Astrolog / NProcessSwitchesX

Function NProcessSwitchesX

xscreen.cpp:1344–1810  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1342// main program, however here each switch has been prefixed with an 'X'.
1343
1344int 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;

Callers 1

FProcessSwitchesFunction · 0.85

Calls 10

ErrorArgvFunction · 0.85
FErrorArgcFunction · 0.85
RFromSzFunction · 0.85
NFromSzFunction · 0.85
FErrorValRFunction · 0.85
FErrorValNFunction · 0.85
FLoadBmpFunction · 0.85
InitColorPaletteFunction · 0.85
NParseSzFunction · 0.85
ErrorSwitchFunction · 0.85

Tested by

no test coverage detected