Fix documentation for system_env BIF

This commit is contained in:
Daniel Thayer 2012-06-01 13:12:55 -05:00
parent 3b2ac75e91
commit 19e3f2ee56
3 changed files with 9 additions and 8 deletions

View file

@ -466,17 +466,18 @@ function system%(str: string%): int
## ##
## str: The command to execute. ## str: The command to execute.
## ##
## env: A :bro:type:`set` or :bro:type:`table` with the environment variables ## env: A :bro:type:`table` with the environment variables in the form
## in the form of key-value pairs (where the value is optional). ## of key-value pairs. Each specified environment variable name
## will be automatically prepended with ``BRO_ARG_``.
## ##
## Returns: The return value from the OS ``system`` function. ## Returns: The return value from the OS ``system`` function.
## ##
## .. bro:see:: system str_shell_escape piped_exec ## .. bro:see:: system str_shell_escape piped_exec
function system_env%(str: string, env: any%): int function system_env%(str: string, env: table_string_of_string%): int
%{ %{
if ( env->Type()->Tag() != TYPE_TABLE ) if ( env->Type()->Tag() != TYPE_TABLE )
{ {
builtin_error("system_env() requires a table/set argument"); builtin_error("system_env() requires a table argument");
return new Val(-1, TYPE_INT); return new Val(-1, TYPE_INT);
} }

View file

@ -1 +1 @@
helloworld

View file

@ -7,17 +7,17 @@ event bro_init()
local vars: table[string] of string = { ["TESTBRO"] = "helloworld" }; local vars: table[string] of string = { ["TESTBRO"] = "helloworld" };
# make sure the env. variable is not set # make sure the env. variable is not set
local myvar = getenv("TESTBRO"); local myvar = getenv("BRO_ARG_TESTBRO");
if ( |myvar| != 0 ) if ( |myvar| != 0 )
exit(1); exit(1);
# check if command runs with the env. variable defined # check if command runs with the env. variable defined
local a = system_env("echo $TESTBRO > testfile", vars); local a = system_env("echo $BRO_ARG_TESTBRO > testfile", vars);
if ( a != 0 ) if ( a != 0 )
exit(1); exit(1);
# make sure the env. variable is still not set # make sure the env. variable is still not set
myvar = getenv("TESTBRO"); myvar = getenv("BRO_ARG_TESTBRO");
if ( |myvar| != 0 ) if ( |myvar| != 0 )
exit(1); exit(1);
} }