From 1b60c7ff40bbc2520e94ac26f37ee0654ef43b4f Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Mon, 2 Apr 2012 19:11:32 +0200 Subject: [PATCH] vpi: delete merged Icarus Verilog patch --- ...-Copy-vector-values-in-vpi_put_value.patch | 63 ------------------- 1 file changed, 63 deletions(-) delete mode 100644 vpi/0001-Copy-vector-values-in-vpi_put_value.patch diff --git a/vpi/0001-Copy-vector-values-in-vpi_put_value.patch b/vpi/0001-Copy-vector-values-in-vpi_put_value.patch deleted file mode 100644 index 292d27f9..00000000 --- a/vpi/0001-Copy-vector-values-in-vpi_put_value.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 6e85fad37a9d40cb02a71196fe5e6981cf255d6e Mon Sep 17 00:00:00 2001 -From: Sebastien Bourdeauducq -Date: Thu, 8 Mar 2012 17:13:32 +0100 -Subject: [PATCH] Copy vector values in vpi_put_value. - -Like it's done for strings. ---- - vvp/vpi_priv.cc | 22 ++++++++++++++++++++-- - 1 files changed, 20 insertions(+), 2 deletions(-) - -diff --git a/vvp/vpi_priv.cc b/vvp/vpi_priv.cc -index 0d82b55..be04b31 100644 ---- a/vvp/vpi_priv.cc -+++ b/vvp/vpi_priv.cc -@@ -948,15 +948,31 @@ void vpip_put_value_event::run_run() - case vpiStringVal: - free(value.value.str); - break; -+ case vpiVectorVal: -+ free(value.value.vector); -+ break; - /* If these are ever copied then free them too. */ - case vpiTimeVal: -- case vpiVectorVal: - case vpiStrengthVal: - default: - break; - } - } - -+static t_vpi_vecval *copy_vector_for(vpiHandle obj, t_vpi_vecval *source) -+{ -+ int size; -+ int nbytes; -+ t_vpi_vecval *r; -+ -+ size = vpi_get(vpiSize, obj); -+ nbytes = ((size + 31)/32)*sizeof(t_vpi_vecval); -+ r = (t_vpi_vecval *)malloc(nbytes); -+ assert(r); -+ memcpy(r, source, nbytes); -+ return r; -+} -+ - vpiHandle vpi_put_value(vpiHandle obj, s_vpi_value*vp, - s_vpi_time*when, PLI_INT32 flags) - { -@@ -1008,9 +1024,11 @@ vpiHandle vpi_put_value(vpiHandle obj, s_vpi_value*vp, - case vpiStringVal: - put->value.value.str = strdup(put->value.value.str); - break; -+ case vpiVectorVal: -+ put->value.value.vector = copy_vector_for(obj, put->value.value.vector); -+ break; - /* Do these also need to be copied? */ - case vpiTimeVal: -- case vpiVectorVal: - case vpiStrengthVal: - default: - break; --- -1.7.7.6 - -- 2.30.2