File 1560-snmp-Types-and-specs-for-snmp_generic-table_get_elem.patch of Package erlang
From 0c46ad059118705fe0871dbe1ff1151db1728dff Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Fri, 12 Jan 2024 19:50:36 +0100
Subject: [PATCH 40/67] [snmp] Types and specs for
snmp_generic:table_get_elements/3
---
lib/snmp/doc/src/snmp_generic.xml | 10 ++--------
lib/snmp/src/agent/snmp_generic.erl | 10 ++++++++++
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/lib/snmp/doc/src/snmp_generic.xml b/lib/snmp/doc/src/snmp_generic.xml
index 7420d4d991..8ee5eea9a9 100644
--- a/lib/snmp/doc/src/snmp_generic.xml
+++ b/lib/snmp/doc/src/snmp_generic.xml
@@ -430,17 +430,11 @@ value() = term()
</func>
<func>
- <name since="">table_get_elements(NameDb, RowIndex, Cols) -> Values</name>
+ <name name="table_get_elements" arity="3" clause_i="1" since=""/>
<fsummary>Get elements in a table row</fsummary>
- <type>
- <v>NameDb = name_db()</v>
- <v>RowIndex = row_index()</v>
- <v>Cols = columns()</v>
- <v>Values = [value() | noinit]</v>
- </type>
<desc>
<p>Returns a list with values for all columns in <c>Cols</c>.
- If a column is undefined, its value is <c>noinit</c>.</p>
+ If a column is undefined, its value is <c>noinit</c>. </p>
<marker id="table_next"></marker>
</desc>
diff --git a/lib/snmp/src/agent/snmp_generic.erl b/lib/snmp/src/agent/snmp_generic.erl
index 188eca0ae2..2c3f485159 100644
--- a/lib/snmp/src/agent/snmp_generic.erl
+++ b/lib/snmp/src/agent/snmp_generic.erl
@@ -93,6 +93,7 @@ variable_inc(NameDb, N) -> % ret true
%%
%% snmpa_local_db overloads (for performance reasons? (mbj?))
%%-----------------------------------------------------------------
+
table_get_element({Name, volatile}, RowIndex, Col) ->
snmpa_local_db:table_get_element({Name, volatile}, RowIndex, Col);
table_get_element({Name, persistent}, RowIndex, Col) ->
@@ -105,11 +106,20 @@ table_get_element(NameDb, RowIndex, Col) ->
_ -> undefined
end.
+
+-spec table_get_elements(NameDb, RowIndex, Cols) -> Values when
+ NameDb :: snmpa:name_db(),
+ RowIndex :: snmp:row_index(),
+ Cols :: columns(),
+ Values :: [noinit | Value],
+ Value :: term().
+
table_get_elements(NameDb, RowIndex, Cols) ->
TableInfo = snmp_generic:table_info(NameDb),
table_get_elements(NameDb, RowIndex, Cols,
TableInfo#table_info.first_own_index).
+
%%----------------------------------------------------------------------
%% Returns: list of vals | undefined
%%----------------------------------------------------------------------
--
2.35.3