diff --git a/NEWS b/NEWS index db3192a824..8f4d16effd 100644 --- a/NEWS +++ b/NEWS @@ -166,6 +166,9 @@ Deprecated Functionality - ``internal_func()`` is deprecated, use ``zeek::lookup_func()``. +- ``opt_internal_val()`` is deprecated, use ``lookup_ID()`` or + ``zeek::lookup_val()``. + Zeek 3.1.0 ========== diff --git a/src/NetVar.cc b/src/NetVar.cc index b6ee3332e4..245e7e43ef 100644 --- a/src/NetVar.cc +++ b/src/NetVar.cc @@ -406,7 +406,7 @@ void init_net_var() pkt_profile_mode = opt_internal_int("pkt_profile_mode"); pkt_profile_freq = opt_internal_double("pkt_profile_freq"); - pkt_profile_file = opt_internal_val("pkt_profile_file"); + pkt_profile_file = zeek::lookup_val("pkt_profile_file").get(); load_sample_freq = opt_internal_int("load_sample_freq"); diff --git a/src/Var.cc b/src/Var.cc index c8d7fbc7c9..4f7d677eac 100644 --- a/src/Var.cc +++ b/src/Var.cc @@ -693,31 +693,41 @@ Val* opt_internal_val(const char* name) double opt_internal_double(const char* name) { - Val* v = opt_internal_val(name); + auto id = lookup_ID(name, GLOBAL_MODULE_NAME); + if ( ! id ) return 0.0; + const auto& v = id->GetVal(); return v ? v->InternalDouble() : 0.0; } bro_int_t opt_internal_int(const char* name) { - Val* v = opt_internal_val(name); + auto id = lookup_ID(name, GLOBAL_MODULE_NAME); + if ( ! id ) return 0; + const auto& v = id->GetVal(); return v ? v->InternalInt() : 0; } bro_uint_t opt_internal_unsigned(const char* name) { - Val* v = opt_internal_val(name); + auto id = lookup_ID(name, GLOBAL_MODULE_NAME); + if ( ! id ) return 0; + const auto& v = id->GetVal(); return v ? v->InternalUnsigned() : 0; } StringVal* opt_internal_string(const char* name) { - Val* v = opt_internal_val(name); + auto id = lookup_ID(name, GLOBAL_MODULE_NAME); + if ( ! id ) return nullptr; + const auto& v = id->GetVal(); return v ? v->AsStringVal() : nullptr; } TableVal* opt_internal_table(const char* name) { - Val* v = opt_internal_val(name); + auto id = lookup_ID(name, GLOBAL_MODULE_NAME); + if ( ! id ) return nullptr; + const auto& v = id->GetVal(); return v ? v->AsTableVal() : nullptr; } diff --git a/src/Var.h b/src/Var.h index 569a1bf047..268445f9c3 100644 --- a/src/Var.h +++ b/src/Var.h @@ -46,7 +46,9 @@ extern Val* internal_val(const char* name); [[deprecated("Remove in v4.1. Use zeek::lookup_const().")]] extern Val* internal_const_val(const char* name); // internal error if not const +[[deprecated("Remove in v4.1. Use lookup_ID() or zeek::lookup_val().")]] extern Val* opt_internal_val(const char* name); // returns nil if not defined + extern double opt_internal_double(const char* name); extern bro_int_t opt_internal_int(const char* name); extern bro_uint_t opt_internal_unsigned(const char* name); diff --git a/src/scan.l b/src/scan.l index 0fd1a65085..fdd4bac766 100644 --- a/src/scan.l +++ b/src/scan.l @@ -1000,7 +1000,8 @@ int yywrap() // string type.) If no type is found, the value // is left unchanged. std::string opt_quote; // no optional quote by default - Val* v = opt_internal_val(param); + auto param_id = lookup_ID(param, GLOBAL_MODULE_NAME); + Val* v = param_id ? param_id->GetVal().get() : nullptr; if ( v && v->Type() && v->Type()->Tag() == TYPE_STRING ) opt_quote = "\""; // use quotes