urj_part_data_register_alloc() changes the length of a data register.
---
 urjtag/include/urjtag/data_register.h |    7 +++++++
 urjtag/src/part/data_register.c       |   19 +++++++++++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/urjtag/include/urjtag/data_register.h 
b/urjtag/include/urjtag/data_register.h
index e9323a4..ae0b497 100644
--- a/urjtag/include/urjtag/data_register.h
+++ b/urjtag/include/urjtag/data_register.h
@@ -41,6 +41,13 @@ urj_data_register_t *urj_part_data_register_alloc (const 
char *name, int len);
 void urj_part_data_register_free (urj_data_register_t *dr);
 
 /**
+ * change the length of a data_register
+ *
+ * @return URJ_STATUS_OK on success; URJ_STATUS_FAIL on error
+ */
+int urj_part_data_register_realloc (urj_data_register_t *dr, int len);
+
+/**
  * allocate a data register and initialize the relevant <code>part</code> parts
  *
  * @return URJ_STATUS_OK on success; URJ_STATUS_FAIL on error
diff --git a/urjtag/src/part/data_register.c b/urjtag/src/part/data_register.c
index 9a6fc29..c4cce78 100644
--- a/urjtag/src/part/data_register.c
+++ b/urjtag/src/part/data_register.c
@@ -133,3 +133,22 @@ urj_part_data_register_define (urj_part_t *part, const 
char *name, int len)
 
     return URJ_STATUS_OK;
 }
+
+int
+urj_part_data_register_realloc (urj_data_register_t *dr, int len)
+{
+    urj_tap_register_free (dr->in);
+    dr->in = NULL;
+    urj_tap_register_free (dr->out);
+    dr->out = NULL;
+
+    dr->in = urj_tap_register_alloc (len);
+    if (!dr->in)
+        return URJ_STATUS_FAIL;
+
+    dr->out = urj_tap_register_alloc (len);
+    if (!dr->out)
+        return URJ_STATUS_FAIL;
+
+    return URJ_STATUS_OK;
+}
-- 
1.7.1


------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
UrJTAG-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/urjtag-development

Reply via email to