summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/simutil.c12
-rw-r--r--src/simutil.h3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/simutil.c b/src/simutil.c
index 941c5517..b98c0110 100644
--- a/src/simutil.c
+++ b/src/simutil.c
@@ -307,6 +307,18 @@ const unsigned char *comprehension_tlv_iter_get_data(
return iter->data;
}
+void comprehension_tlv_iter_copy(struct comprehension_tlv_iter *from,
+ struct comprehension_tlv_iter *to)
+{
+ to->max = from->max;
+ to->pos = from->pos;
+ to->pdu = from->pdu;
+ to->tag = from->tag;
+ to->cr = from->cr;
+ to->len = from->len;
+ to->data = from->data;
+}
+
void ber_tlv_iter_init(struct ber_tlv_iter *iter, const unsigned char *pdu,
unsigned int len)
{
diff --git a/src/simutil.h b/src/simutil.h
index 7590cca4..45b68474 100644
--- a/src/simutil.h
+++ b/src/simutil.h
@@ -132,6 +132,9 @@ unsigned int comprehension_tlv_iter_get_length(
const unsigned char *comprehension_tlv_iter_get_data(
struct comprehension_tlv_iter *iter);
+void comprehension_tlv_iter_copy(struct comprehension_tlv_iter *from,
+ struct comprehension_tlv_iter *to);
+
void ber_tlv_iter_init(struct ber_tlv_iter *iter, const unsigned char *pdu,
unsigned int len);
/*