mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-28 14:52:01 +00:00
- some reformatting on exit code, mainly to make searching for the content easier.
This commit is contained in:
parent
f3219ca979
commit
86ab366958
25 changed files with 55 additions and 50 deletions
|
@ -327,7 +327,7 @@ public:
|
||||||
FuncDetail _funcDetail;
|
FuncDetail _funcDetail;
|
||||||
//! Function frame.
|
//! Function frame.
|
||||||
FuncFrame _frame;
|
FuncFrame _frame;
|
||||||
//! Function exit (label).
|
//! Function exit(label).
|
||||||
LabelNode* _exitNode;
|
LabelNode* _exitNode;
|
||||||
//! Function end (sentinel).
|
//! Function end (sentinel).
|
||||||
SentinelNode* _end;
|
SentinelNode* _end;
|
||||||
|
|
|
@ -493,7 +493,7 @@ public:
|
||||||
// Add a branch to the continue_target of the current (innermost) loop.
|
// Add a branch to the continue_target of the current (innermost) loop.
|
||||||
void createLoopContinue();
|
void createLoopContinue();
|
||||||
|
|
||||||
// Add an exit (e.g. "break") from the innermost loop that we're currently
|
// Add an exit(e.g. "break") from the innermost loop that we're currently
|
||||||
// in.
|
// in.
|
||||||
void createLoopExit();
|
void createLoopExit();
|
||||||
|
|
||||||
|
|
|
@ -101,12 +101,12 @@ bool CheckCheatmode (bool printmsg)
|
||||||
|
|
||||||
CCMD (quit)
|
CCMD (quit)
|
||||||
{
|
{
|
||||||
if (!insave) exit (0);
|
if (!insave) exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
CCMD (exit)
|
CCMD (exit)
|
||||||
{
|
{
|
||||||
if (!insave) exit (0);
|
if (!insave) exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1604,7 +1604,7 @@ void D_ArbitrateNetStart (void)
|
||||||
StartScreen->NetInit ("Exchanging game information", 1);
|
StartScreen->NetInit ("Exchanging game information", 1);
|
||||||
if (!StartScreen->NetLoop (DoArbitrate, &data))
|
if (!StartScreen->NetLoop (DoArbitrate, &data))
|
||||||
{
|
{
|
||||||
exit (0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (consoleplayer == Net_Arbitrator)
|
if (consoleplayer == Net_Arbitrator)
|
||||||
|
|
|
@ -209,7 +209,7 @@ static int cregcmp (const void *a, const void *b) NO_SANITIZE
|
||||||
|
|
||||||
void PClass::StaticInit ()
|
void PClass::StaticInit ()
|
||||||
{
|
{
|
||||||
atterm (StaticShutdown);
|
atterm(StaticShutdown);
|
||||||
|
|
||||||
Namespaces.GlobalNamespace = Namespaces.NewNamespace(0);
|
Namespaces.GlobalNamespace = Namespaces.NewNamespace(0);
|
||||||
|
|
||||||
|
|
|
@ -435,7 +435,7 @@ void StartNetwork (bool autoPort)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
atterm (CloseNetwork);
|
atterm(CloseNetwork);
|
||||||
|
|
||||||
netgame = true;
|
netgame = true;
|
||||||
multiplayer = true;
|
multiplayer = true;
|
||||||
|
@ -689,14 +689,14 @@ void HostGame (int i)
|
||||||
|
|
||||||
doomcom.numnodes = 1;
|
doomcom.numnodes = 1;
|
||||||
|
|
||||||
atterm (SendAbort);
|
atterm(SendAbort);
|
||||||
|
|
||||||
StartScreen->NetInit ("Waiting for players", numplayers);
|
StartScreen->NetInit ("Waiting for players", numplayers);
|
||||||
|
|
||||||
// Wait for numplayers-1 different connections
|
// Wait for numplayers-1 different connections
|
||||||
if (!StartScreen->NetLoop (Host_CheckForConnects, (void *)(intptr_t)numplayers))
|
if (!StartScreen->NetLoop (Host_CheckForConnects, (void *)(intptr_t)numplayers))
|
||||||
{
|
{
|
||||||
exit (0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now inform everyone of all machines involved in the game
|
// Now inform everyone of all machines involved in the game
|
||||||
|
@ -706,7 +706,7 @@ void HostGame (int i)
|
||||||
|
|
||||||
if (!StartScreen->NetLoop (Host_SendAllHere, (void *)gotack))
|
if (!StartScreen->NetLoop (Host_SendAllHere, (void *)gotack))
|
||||||
{
|
{
|
||||||
exit (0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
popterm ();
|
popterm ();
|
||||||
|
@ -858,20 +858,20 @@ void JoinGame (int i)
|
||||||
sendplayer[1] = 0;
|
sendplayer[1] = 0;
|
||||||
doomcom.numnodes = 2;
|
doomcom.numnodes = 2;
|
||||||
|
|
||||||
atterm (SendAbort);
|
atterm(SendAbort);
|
||||||
|
|
||||||
// Let host know we are here
|
// Let host know we are here
|
||||||
StartScreen->NetInit ("Contacting host", 0);
|
StartScreen->NetInit ("Contacting host", 0);
|
||||||
|
|
||||||
if (!StartScreen->NetLoop (Guest_ContactHost, NULL))
|
if (!StartScreen->NetLoop (Guest_ContactHost, NULL))
|
||||||
{
|
{
|
||||||
exit (0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wait for everyone else to connect
|
// Wait for everyone else to connect
|
||||||
if (!StartScreen->NetLoop (Guest_WaitForOthers, 0))
|
if (!StartScreen->NetLoop (Guest_WaitForOthers, 0))
|
||||||
{
|
{
|
||||||
exit (0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
popterm ();
|
popterm ();
|
||||||
|
|
|
@ -320,7 +320,7 @@ void M_LoadDefaults ()
|
||||||
{
|
{
|
||||||
GameConfig = new FGameConfigFile;
|
GameConfig = new FGameConfigFile;
|
||||||
GameConfig->DoGlobalSetup ();
|
GameConfig->DoGlobalSetup ();
|
||||||
atterm (M_SaveDefaultsFinal);
|
atterm(M_SaveDefaultsFinal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -572,7 +572,7 @@ void P_SetupLevel(FLevelLocals *Level, int position, bool newGame)
|
||||||
//
|
//
|
||||||
void P_Init ()
|
void P_Init ()
|
||||||
{
|
{
|
||||||
atterm (P_Shutdown);
|
atterm(P_Shutdown);
|
||||||
|
|
||||||
P_InitEffects (); // [RH]
|
P_InitEffects (); // [RH]
|
||||||
P_InitTerrainTypes ();
|
P_InitTerrainTypes ();
|
||||||
|
|
|
@ -512,7 +512,7 @@ int main(int argc, char** argv)
|
||||||
|
|
||||||
CreateMenu();
|
CreateMenu();
|
||||||
|
|
||||||
atterm(ReleaseApplicationController);
|
atexit(ReleaseApplicationController);
|
||||||
|
|
||||||
appCtrl = [ApplicationController new];
|
appCtrl = [ApplicationController new];
|
||||||
[NSApp setDelegate:appCtrl];
|
[NSApp setDelegate:appCtrl];
|
||||||
|
|
|
@ -84,5 +84,5 @@ void I_InitGraphics ()
|
||||||
if (Video == NULL)
|
if (Video == NULL)
|
||||||
I_FatalError ("Failed to initialize display");
|
I_FatalError ("Failed to initialize display");
|
||||||
|
|
||||||
atterm (I_ShutdownGraphics);
|
atterm(I_ShutdownGraphics);
|
||||||
}
|
}
|
||||||
|
|
|
@ -297,7 +297,7 @@ void MessagePump (const SDL_Event &sev)
|
||||||
switch (sev.type)
|
switch (sev.type)
|
||||||
{
|
{
|
||||||
case SDL_QUIT:
|
case SDL_QUIT:
|
||||||
exit (0);
|
exit(0);
|
||||||
|
|
||||||
case SDL_WINDOWEVENT:
|
case SDL_WINDOWEVENT:
|
||||||
extern void ProcessSDLWindowEvent(const SDL_WindowEvent &);
|
extern void ProcessSDLWindowEvent(const SDL_WindowEvent &);
|
||||||
|
|
|
@ -241,7 +241,7 @@ int main (int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
exit (-1);
|
return -1;
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
|
|
|
@ -98,7 +98,7 @@ void I_Init (void)
|
||||||
CheckCPUID (&CPU);
|
CheckCPUID (&CPU);
|
||||||
DumpCPUInfo (&CPU);
|
DumpCPUInfo (&CPU);
|
||||||
|
|
||||||
atterm (I_ShutdownSound);
|
atterm(I_ShutdownSound);
|
||||||
I_InitSound ();
|
I_InitSound ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ void I_FatalError (const char *error, va_list ap)
|
||||||
}
|
}
|
||||||
// throw CFatalError (errortext);
|
// throw CFatalError (errortext);
|
||||||
fprintf (stderr, "%s\n", errortext);
|
fprintf (stderr, "%s\n", errortext);
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
std::terminate();
|
std::terminate();
|
||||||
}
|
}
|
||||||
|
|
|
@ -380,7 +380,7 @@ FRenderer *CreateSWRenderer();
|
||||||
|
|
||||||
void R_Init ()
|
void R_Init ()
|
||||||
{
|
{
|
||||||
atterm (R_Shutdown);
|
atterm(R_Shutdown);
|
||||||
|
|
||||||
StartScreen->Progress();
|
StartScreen->Progress();
|
||||||
R_InitTranslationTables ();
|
R_InitTranslationTables ();
|
||||||
|
|
|
@ -563,7 +563,7 @@ void V_InitScreenSize ()
|
||||||
const char *i;
|
const char *i;
|
||||||
int width, height, bits;
|
int width, height, bits;
|
||||||
|
|
||||||
atterm (V_Shutdown);
|
atterm(V_Shutdown);
|
||||||
|
|
||||||
|
|
||||||
width = height = bits = 0;
|
width = height = bits = 0;
|
||||||
|
|
|
@ -986,7 +986,7 @@ void S_ParseSndInfo (bool redefine)
|
||||||
int lump;
|
int lump;
|
||||||
|
|
||||||
if (!redefine) SavedPlayerSounds.Clear(); // clear skin sounds only for initial parsing.
|
if (!redefine) SavedPlayerSounds.Clear(); // clear skin sounds only for initial parsing.
|
||||||
atterm (S_ClearSoundData);
|
atterm(S_ClearSoundData);
|
||||||
S_ClearSoundData(); // remove old sound data first!
|
S_ClearSoundData(); // remove old sound data first!
|
||||||
|
|
||||||
CurrentPitchMask = 0;
|
CurrentPitchMask = 0;
|
||||||
|
|
|
@ -643,7 +643,7 @@ void S_ParseReverbDef ()
|
||||||
{
|
{
|
||||||
int lump, lastlump = 0;
|
int lump, lastlump = 0;
|
||||||
|
|
||||||
atterm (S_UnloadReverbDef);
|
atterm(S_UnloadReverbDef);
|
||||||
S_UnloadReverbDef ();
|
S_UnloadReverbDef ();
|
||||||
|
|
||||||
while ((lump = Wads.FindLump ("REVERBS", &lastlump)) != -1)
|
while ((lump = Wads.FindLump ("REVERBS", &lastlump)) != -1)
|
||||||
|
|
|
@ -305,7 +305,7 @@ void S_Init ()
|
||||||
{
|
{
|
||||||
int curvelump;
|
int curvelump;
|
||||||
|
|
||||||
atterm (S_Shutdown);
|
atterm(S_Shutdown);
|
||||||
|
|
||||||
// Heretic and Hexen have sound curve lookup tables. Doom does not.
|
// Heretic and Hexen have sound curve lookup tables. Doom does not.
|
||||||
curvelump = Wads.CheckNumForName ("SNDCURVE");
|
curvelump = Wads.CheckNumForName ("SNDCURVE");
|
||||||
|
|
|
@ -152,5 +152,5 @@ void I_InitGraphics ()
|
||||||
if (Video == NULL)
|
if (Video == NULL)
|
||||||
I_FatalError ("Failed to initialize display");
|
I_FatalError ("Failed to initialize display");
|
||||||
|
|
||||||
atterm (I_ShutdownGraphics);
|
atterm(I_ShutdownGraphics);
|
||||||
}
|
}
|
||||||
|
|
|
@ -424,7 +424,7 @@ LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
SetPriorityClass (GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
|
SetPriorityClass (GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
|
||||||
//PostQuitMessage (0);
|
//PostQuitMessage (0);
|
||||||
exit (0);
|
exit(0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_HOTKEY:
|
case WM_HOTKEY:
|
||||||
|
@ -614,7 +614,7 @@ bool I_InitInput (void *hwnd)
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
Printf ("I_InitInput\n");
|
Printf ("I_InitInput\n");
|
||||||
atterm (I_ShutdownInput);
|
atterm(I_ShutdownInput);
|
||||||
|
|
||||||
noidle = !!Args->CheckParm ("-noidle");
|
noidle = !!Args->CheckParm ("-noidle");
|
||||||
g_pdi = NULL;
|
g_pdi = NULL;
|
||||||
|
@ -740,7 +740,7 @@ void I_GetEvent ()
|
||||||
while (PeekMessage (&mess, NULL, 0, 0, PM_REMOVE))
|
while (PeekMessage (&mess, NULL, 0, 0, PM_REMOVE))
|
||||||
{
|
{
|
||||||
if (mess.message == WM_QUIT)
|
if (mess.message == WM_QUIT)
|
||||||
exit (mess.wParam);
|
exit(mess.wParam);
|
||||||
|
|
||||||
if (GUICapture)
|
if (GUICapture)
|
||||||
{
|
{
|
||||||
|
|
|
@ -932,7 +932,7 @@ void DoMain (HINSTANCE hInstance)
|
||||||
|
|
||||||
if (!Window)
|
if (!Window)
|
||||||
{
|
{
|
||||||
MessageBoc(nullptr, "Fatal", "Unable to create main window", MB_ICONEXCLAMATION|MB_OK);
|
MessageBoxA(nullptr, "Unable to create main window", "Fatal", MB_ICONEXCLAMATION|MB_OK);
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1019,7 +1019,7 @@ void DoMain (HINSTANCE hInstance)
|
||||||
Printf("%s\n", msg);
|
Printf("%s\n", msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1133,7 +1133,7 @@ void CALLBACK ExitFatally (ULONG_PTR dummy)
|
||||||
I_ShutdownGraphics ();
|
I_ShutdownGraphics ();
|
||||||
RestoreConView ();
|
RestoreConView ();
|
||||||
DisplayCrashLog ();
|
DisplayCrashLog ();
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
@ -1233,7 +1233,7 @@ int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE nothing, LPWSTR cmdline, int
|
||||||
// don't support Windows 95, we have no obligation to provide assistance in
|
// don't support Windows 95, we have no obligation to provide assistance in
|
||||||
// getting it installed.
|
// getting it installed.
|
||||||
MessageBoxA(NULL, "Could not load riched20.dll", GAMENAME " Error", MB_OK | MB_ICONSTOP);
|
MessageBoxA(NULL, "Could not load riched20.dll", GAMENAME " Error", MB_OK | MB_ICONSTOP);
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(__GNUC__) && defined(_DEBUG)
|
#if !defined(__GNUC__) && defined(_DEBUG)
|
||||||
|
@ -1248,7 +1248,7 @@ int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE nothing, LPWSTR cmdline, int
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
DisplayCrashLog ();
|
DisplayCrashLog ();
|
||||||
exit (0);
|
return 0;
|
||||||
}
|
}
|
||||||
if (__argc == 2 && __wargv != nullptr && wcscmp (__wargv[1], L"TestStackCrash") == 0)
|
if (__argc == 2 && __wargv != nullptr && wcscmp (__wargv[1], L"TestStackCrash") == 0)
|
||||||
{
|
{
|
||||||
|
@ -1261,7 +1261,7 @@ int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE nothing, LPWSTR cmdline, int
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
DisplayCrashLog ();
|
DisplayCrashLog ();
|
||||||
exit (0);
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -337,7 +337,7 @@ void I_Init()
|
||||||
CalculateCPUSpeed();
|
CalculateCPUSpeed();
|
||||||
DumpCPUInfo(&CPU);
|
DumpCPUInfo(&CPU);
|
||||||
|
|
||||||
atterm (I_ShutdownSound);
|
atterm(I_ShutdownSound);
|
||||||
I_InitSound ();
|
I_InitSound ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1343,13 +1343,11 @@ void FStrifeStartupScreen::DrawStuff(int old_laser, int new_laser)
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
void ST_Endoom()
|
int RunEndoom()
|
||||||
{
|
{
|
||||||
if (showendoom == 0) exit(0);
|
if (showendoom == 0 || gameinfo.Endoom.Len() == 0)
|
||||||
|
|
||||||
if (gameinfo.Endoom.Len() == 0)
|
|
||||||
{
|
{
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int endoom_lump = Wads.CheckNumForFullName (gameinfo.Endoom, true);
|
int endoom_lump = Wads.CheckNumForFullName (gameinfo.Endoom, true);
|
||||||
|
@ -1363,25 +1361,25 @@ void ST_Endoom()
|
||||||
|
|
||||||
if (endoom_lump < 0 || Wads.LumpLength (endoom_lump) != 4000)
|
if (endoom_lump < 0 || Wads.LumpLength (endoom_lump) != 4000)
|
||||||
{
|
{
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Wads.GetLumpFile(endoom_lump) == Wads.GetMaxIwadNum() && showendoom == 2)
|
if (Wads.GetLumpFile(endoom_lump) == Wads.GetMaxIwadNum() && showendoom == 2)
|
||||||
{
|
{
|
||||||
// showendoom==2 means to show only lumps from PWADs.
|
// showendoom==2 means to show only lumps from PWADs.
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
font = ST_Util_LoadFont (TEXT_FONT_NAME);
|
font = ST_Util_LoadFont (TEXT_FONT_NAME);
|
||||||
if (font == NULL)
|
if (font == NULL)
|
||||||
{
|
{
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ST_Util_CreateStartupWindow())
|
if (!ST_Util_CreateStartupWindow())
|
||||||
{
|
{
|
||||||
ST_Util_FreeFont (font);
|
ST_Util_FreeFont (font);
|
||||||
exit(0);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
I_ShutdownGraphics ();
|
I_ShutdownGraphics ();
|
||||||
|
@ -1432,7 +1430,7 @@ void ST_Endoom()
|
||||||
}
|
}
|
||||||
ST_Util_FreeBitmap (StartupBitmap);
|
ST_Util_FreeBitmap (StartupBitmap);
|
||||||
ST_Util_FreeFont (font);
|
ST_Util_FreeFont (font);
|
||||||
exit (int(bRet == 0 ? mess.wParam : 0));
|
return int(bRet == 0 ? mess.wParam : 0);
|
||||||
}
|
}
|
||||||
else if (blinking && mess.message == WM_TIMER && mess.hwnd == Window && mess.wParam == 0x5A15A)
|
else if (blinking && mess.message == WM_TIMER && mess.hwnd == Window && mess.wParam == 0x5A15A)
|
||||||
{
|
{
|
||||||
|
@ -1444,6 +1442,13 @@ void ST_Endoom()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ST_Endoom()
|
||||||
|
{
|
||||||
|
int code = RunEndoom();
|
||||||
|
exit(code);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// ST_Util_CreateStartupWindow
|
// ST_Util_CreateStartupWindow
|
||||||
|
|
|
@ -131,14 +131,14 @@ void Skeleton::emit_data (const char * fname)
|
||||||
if (!input)
|
if (!input)
|
||||||
{
|
{
|
||||||
error ("cannot open file: %s", input_name.c_str ());
|
error ("cannot open file: %s", input_name.c_str ());
|
||||||
exit (1);
|
exit(1);
|
||||||
}
|
}
|
||||||
const std::string keys_name = std::string (fname) + "." + name + ".keys";
|
const std::string keys_name = std::string (fname) + "." + name + ".keys";
|
||||||
FILE * keys = fopen (keys_name.c_str (), "wb");
|
FILE * keys = fopen (keys_name.c_str (), "wb");
|
||||||
if (!keys)
|
if (!keys)
|
||||||
{
|
{
|
||||||
error ("cannot open file: %s", keys_name.c_str ());
|
error ("cannot open file: %s", keys_name.c_str ());
|
||||||
exit (1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
generate_paths (input, keys);
|
generate_paths (input, keys);
|
||||||
|
|
|
@ -116,7 +116,7 @@ Skeleton::Skeleton
|
||||||
if (maxlen == Node::DIST_MAX)
|
if (maxlen == Node::DIST_MAX)
|
||||||
{
|
{
|
||||||
error ("DFA path %sis too long", incond (cond).c_str ());
|
error ("DFA path %sis too long", incond (cond).c_str ());
|
||||||
exit (1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// calculate maximal rule rank (disregarding default and none rules)
|
// calculate maximal rule rank (disregarding default and none rules)
|
||||||
|
|
Loading…
Reference in a new issue