Subversion Repositories SvarDOS

Rev

Rev 467 | Rev 473 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 467 Rev 469
1
 
1
 
2
                    === SvarCOM implementation notes ===
2
                    === SvarCOM implementation notes ===
3
 
3
 
4
 
4
 
5
=== NLS strings ==============================================================
5
=== NLS strings ==============================================================
6
 
6
 
7
SvarCOM can output information in many languages. To do so, it relies on a
7
SvarCOM can output information in many languages. To do so, it relies on a
8
precompiled resource file named SVARCOM.LNG. When SvarCOM starts, it looks
8
precompiled resource file named SVARCOM.LNG. When SvarCOM starts, it looks
9
for this file in the %NLSPATH% directory and loads from it the part that
9
for this file in the %NLSPATH% directory and loads from it the part that
10
contains the %LANG% language. All this is done by nls_langreload().
10
contains the %LANG% language. All this is done by nls_langreload().
11
 
11
 
12
The SVARCOM.LNG file is compiled by a separate tool: TLUMACZ. It takes
12
The SVARCOM.LNG file is compiled by a separate tool: TLUMACZ. It takes
13
CATS-style language files as input and compiles them into a single SVARCOM.LNG
13
CATS-style language files as input and compiles them into a single SVARCOM.LNG
14
resource file. It also produces a DEFAULT.LNG with english strings only, this
14
resource file. It also produces a DEFAULT.LNG with english strings only, this
15
one is embedded into the SvarCOM executable to display english text in case
15
one is embedded into the SvarCOM executable to display english text in case
16
SVARCOM.LNG is unavailable.
16
SVARCOM.LNG is unavailable.
17
 
17
 
18
 
18
 
19
=== Batch files support ======================================================
19
=== Batch files support ======================================================
20
 
20
 
21
When SvarCOM executes a command, it checks first if it has a *.BAT extension.
21
When SvarCOM executes a command, it checks first if it has a *.BAT extension.
22
If so, it switches into 'batch-mode':
22
If so, it switches into 'batch-processing' mode:
23
 - allocates a batch 'node', which is a memory area that contains the
-
 
24
   path and filename of the batch file, as well as the number of the "next
-
 
25
   line to be executed".
-
 
26
 - the batch node is attached to the batch chain (a pointer owned by rmod) if
-
 
27
   the batch file was CALLed from within another batch file, and replaced the
-
 
28
   current batch if it was simply executed from another batch file.
-
 
29
 
23
 
-
 
24
 - Writes the batch filename into its persistent (rmod-owned) buffer, along
-
 
25
   with a line counter that holds the number of "next line to be executed".
-
 
26
 - When a batch file CALLs another batch file, then a new SvarCOM instance is
-
 
27
   started. This ensures that once the CALLed batch ends, processing will
-
 
28
   return to the original batch file at the correct position.
-
 
29
 
30
When the rmod batch pointer is non-NULL, SvarCOM does not ask the user for a
30
When the batch buffer is non-zero, SvarCOM does not ask the user for a
31
command. Instead, it opens the batch file, jumps to the "line line to be
31
command. Instead, it opens the batch file, jumps to the "next line to be
32
executed" and loads the command from there, incrementing "next line" in the
32
executed" and loads the command from there, incrementing this counter in the
33
process. The maximum length of a batch file is of 65535 lines (any lines after
33
process. The maximum length of a batch file is of 65535 lines (any lines after
34
this limit will be ignored).
34
this limit will be ignored).
35
 
35
 
36
 
36
 
37
====================================================================== EOF ===
37
====================================================================== EOF ===
38
 
38