mirror of
https://github.com/kanaka/mal.git
synced 2024-10-27 22:58:00 +03:00
bbc-basic: Move argv extraction into its own function.
That way it's not in the way as it gets more complicated.
This commit is contained in:
parent
5881fe2334
commit
cbc6f3fb23
@ -27,16 +27,7 @@ REPEAT
|
||||
IF form$ <> "" THEN val$ = FNrep(form$)
|
||||
UNTIL form$ = ""
|
||||
|
||||
REM Parse the command-line.
|
||||
argv% = FNempty
|
||||
IF !PAGE = &D7C1C7C5 THEN
|
||||
REM Running under Brandy, so ARGC and ARGV$ are usable.
|
||||
IF ARGC >= 1 THEN
|
||||
FOR i% = ARGC TO 1 STEP -1
|
||||
argv% = FNalloc_pair(FNalloc_string(ARGV$(i%)), argv%)
|
||||
NEXT i%
|
||||
ENDIF
|
||||
ENDIF
|
||||
argv% = FNget_argv
|
||||
|
||||
IF FNis_empty(argv%) THEN
|
||||
PROCenv_set(repl_env%, FNalloc_symbol("*ARGV*"), FNempty)
|
||||
@ -149,6 +140,21 @@ DEF FNeval_ast(ast%, env%)
|
||||
ENDIF
|
||||
=ast%
|
||||
|
||||
DEF FNget_argv
|
||||
PROCgc_enter
|
||||
LOCAL argv%
|
||||
argv% = FNempty
|
||||
IF !PAGE = &D7C1C7C5 THEN
|
||||
REM Running under Brandy, so ARGC and ARGV$ are usable.
|
||||
IF ARGC >= 1 THEN
|
||||
FOR i% = ARGC TO 1 STEP -1
|
||||
argv% = FNalloc_pair(FNalloc_string(ARGV$(i%)), argv%)
|
||||
NEXT i%
|
||||
ENDIF
|
||||
ENDIF
|
||||
=FNgc_exit(argv%)
|
||||
|
||||
|
||||
REM Local Variables:
|
||||
REM indent-tabs-mode: nil
|
||||
REM End:
|
||||
|
@ -27,16 +27,7 @@ REPEAT
|
||||
IF form$ <> "" THEN val$ = FNrep(form$)
|
||||
UNTIL form$ = ""
|
||||
|
||||
REM Parse the command-line.
|
||||
argv% = FNempty
|
||||
IF !PAGE = &D7C1C7C5 THEN
|
||||
REM Running under Brandy, so ARGC and ARGV$ are usable.
|
||||
IF ARGC >= 1 THEN
|
||||
FOR i% = ARGC TO 1 STEP -1
|
||||
argv% = FNalloc_pair(FNalloc_string(ARGV$(i%)), argv%)
|
||||
NEXT i%
|
||||
ENDIF
|
||||
ENDIF
|
||||
argv% = FNget_argv
|
||||
|
||||
IF FNis_empty(argv%) THEN
|
||||
PROCenv_set(repl_env%, FNalloc_symbol("*ARGV*"), FNempty)
|
||||
@ -174,6 +165,21 @@ DEF FNeval_ast(ast%, env%)
|
||||
ENDIF
|
||||
=ast%
|
||||
|
||||
DEF FNget_argv
|
||||
PROCgc_enter
|
||||
LOCAL argv%
|
||||
argv% = FNempty
|
||||
IF !PAGE = &D7C1C7C5 THEN
|
||||
REM Running under Brandy, so ARGC and ARGV$ are usable.
|
||||
IF ARGC >= 1 THEN
|
||||
FOR i% = ARGC TO 1 STEP -1
|
||||
argv% = FNalloc_pair(FNalloc_string(ARGV$(i%)), argv%)
|
||||
NEXT i%
|
||||
ENDIF
|
||||
ENDIF
|
||||
=FNgc_exit(argv%)
|
||||
|
||||
|
||||
REM Local Variables:
|
||||
REM indent-tabs-mode: nil
|
||||
REM End:
|
||||
|
@ -29,16 +29,7 @@ REPEAT
|
||||
IF form$ <> "" THEN val$ = FNrep(form$)
|
||||
UNTIL form$ = ""
|
||||
|
||||
REM Parse the command-line.
|
||||
argv% = FNempty
|
||||
IF !PAGE = &D7C1C7C5 THEN
|
||||
REM Running under Brandy, so ARGC and ARGV$ are usable.
|
||||
IF ARGC >= 1 THEN
|
||||
FOR i% = ARGC TO 1 STEP -1
|
||||
argv% = FNalloc_pair(FNalloc_string(ARGV$(i%)), argv%)
|
||||
NEXT i%
|
||||
ENDIF
|
||||
ENDIF
|
||||
argv% = FNget_argv
|
||||
|
||||
IF FNis_empty(argv%) THEN
|
||||
PROCenv_set(repl_env%, FNalloc_symbol("*ARGV*"), FNempty)
|
||||
@ -206,6 +197,21 @@ DEF FNeval_ast(ast%, env%)
|
||||
ENDIF
|
||||
=ast%
|
||||
|
||||
DEF FNget_argv
|
||||
PROCgc_enter
|
||||
LOCAL argv%
|
||||
argv% = FNempty
|
||||
IF !PAGE = &D7C1C7C5 THEN
|
||||
REM Running under Brandy, so ARGC and ARGV$ are usable.
|
||||
IF ARGC >= 1 THEN
|
||||
FOR i% = ARGC TO 1 STEP -1
|
||||
argv% = FNalloc_pair(FNalloc_string(ARGV$(i%)), argv%)
|
||||
NEXT i%
|
||||
ENDIF
|
||||
ENDIF
|
||||
=FNgc_exit(argv%)
|
||||
|
||||
|
||||
REM Local Variables:
|
||||
REM indent-tabs-mode: nil
|
||||
REM End:
|
||||
|
@ -29,16 +29,7 @@ REPEAT
|
||||
IF form$ <> "" THEN val$ = FNrep(form$)
|
||||
UNTIL form$ = ""
|
||||
|
||||
REM Parse the command-line.
|
||||
argv% = FNempty
|
||||
IF !PAGE = &D7C1C7C5 THEN
|
||||
REM Running under Brandy, so ARGC and ARGV$ are usable.
|
||||
IF ARGC >= 1 THEN
|
||||
FOR i% = ARGC TO 1 STEP -1
|
||||
argv% = FNalloc_pair(FNalloc_string(ARGV$(i%)), argv%)
|
||||
NEXT i%
|
||||
ENDIF
|
||||
ENDIF
|
||||
argv% = FNget_argv
|
||||
|
||||
IF FNis_empty(argv%) THEN
|
||||
PROCenv_set(repl_env%, FNalloc_symbol("*ARGV*"), FNempty)
|
||||
@ -241,6 +232,21 @@ DEF FNeval_ast(ast%, env%)
|
||||
ENDIF
|
||||
=ast%
|
||||
|
||||
DEF FNget_argv
|
||||
PROCgc_enter
|
||||
LOCAL argv%
|
||||
argv% = FNempty
|
||||
IF !PAGE = &D7C1C7C5 THEN
|
||||
REM Running under Brandy, so ARGC and ARGV$ are usable.
|
||||
IF ARGC >= 1 THEN
|
||||
FOR i% = ARGC TO 1 STEP -1
|
||||
argv% = FNalloc_pair(FNalloc_string(ARGV$(i%)), argv%)
|
||||
NEXT i%
|
||||
ENDIF
|
||||
ENDIF
|
||||
=FNgc_exit(argv%)
|
||||
|
||||
|
||||
REM Local Variables:
|
||||
REM indent-tabs-mode: nil
|
||||
REM End:
|
||||
|
Loading…
Reference in New Issue
Block a user