On Thursday 03 September 2009, David Brownell wrote:
> Anyone feeling like addressing the rest of these?
> 
> It's code cleanup, by and large... except that "test
> floats for equality" bug.

The answer was evidently "no".  :(

I just merged the following patch.

======================
From: David Brownell <dbrown...@users.sourceforge.net>
Subject: misc code review updates

More updates from the code review by Steve Grubb <sgr...@redhat.com>.
The Jim float-comparision bug just gets a comment not a fix, though.

Cc: Steve Grubb <sgr...@redhat.com>.
---
 src/flash/mflash.c |    6 ++++--
 src/helper/jim.c   |    7 +++----
 src/jtag/core.c    |    3 +--
 src/svf/svf.c      |    9 +++------
 4 files changed, 11 insertions(+), 14 deletions(-)

--- a/src/flash/mflash.c
+++ b/src/flash/mflash.c
@@ -342,7 +342,8 @@ static int mg_dsk_drv_info(void)
        if ((ret =  mg_dsk_io_cmd(0, 1, mg_io_cmd_identify)) != ERROR_OK)
                return ret;
 
-       if ((ret = mg_dsk_wait(mg_io_wait_drq, MG_OEM_DISK_WAIT_TIME_NORMAL)) 
!= ERROR_OK)
+       ret = mg_dsk_wait(mg_io_wait_drq, MG_OEM_DISK_WAIT_TIME_NORMAL);
+       if (ret != ERROR_OK)
                return ret;
 
        LOG_INFO("mflash: read drive info");
@@ -350,7 +351,8 @@ static int mg_dsk_drv_info(void)
        if (! mflash_bank->drv_info)
                mflash_bank->drv_info = malloc(sizeof(struct mg_drv_info));
 
-       target_read_memory(target, mg_buff, 2, sizeof(mg_io_type_drv_info) >> 1,
+       ret = target_read_memory(target, mg_buff, 2,
+                       sizeof(mg_io_type_drv_info) >> 1,
                        (uint8_t *)&mflash_bank->drv_info->drv_id);
        if (ret != ERROR_OK)
                return ret;
--- a/src/helper/jim.c
+++ b/src/helper/jim.c
@@ -6077,7 +6077,7 @@ int SetIndexFromAny(Jim_Interp *interp, 
             index = INT_MAX;
         else
             index = -(index + 1);
-    } else if (!end && index < 0)
+    } else if (index < 0)
         index = -INT_MAX;
     /* Free the old internal repr and set the new one. */
     Jim_FreeIntRep(interp, objPtr);
@@ -7063,7 +7063,6 @@ trydouble:
                     "Got floating-point value where integer was expected", -1);
                 error = 1;
                 goto err;
-                break;
             case JIM_EXPROP_ADD: dC = dA + dB; break;
             case JIM_EXPROP_SUB: dC = dA-dB; break;
             case JIM_EXPROP_MUL: dC = dA*dB; break;
@@ -7071,6 +7070,7 @@ trydouble:
             case JIM_EXPROP_GT: dC = dA > dB; break;
             case JIM_EXPROP_LTE: dC = dA <= dB; break;
             case JIM_EXPROP_GTE: dC = dA >= dB; break;
+           /* FIXME comparing floats for equality/inequality is bad juju */
             case JIM_EXPROP_NUMEQ: dC = dA == dB; break;
             case JIM_EXPROP_NUMNE: dC = dA != dB; break;
             case JIM_EXPROP_LOGICAND_LEFT:
@@ -9889,8 +9889,7 @@ static int Jim_WhileCoreCommand(Jim_Inte
                         Jim_GetWide(interp, objPtr, &wideValueB) != JIM_OK)
                     {
                         Jim_DecrRefCount(interp, varAObjPtr);
-                        if (varBObjPtr)
-                            Jim_DecrRefCount(interp, varBObjPtr);
+                        Jim_DecrRefCount(interp, varBObjPtr);
                         goto noopt;
                     }
                 }
--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -762,8 +762,7 @@ static int jtag_check_value_inner(uint8_
                uint8_t *in_check_mask, int num_bits)
 {
        int retval = ERROR_OK;
-
-       int compare_failed = 0;
+       int compare_failed;
 
        if (in_check_mask)
                compare_failed = buf_cmp_mask(captured, in_check_value, 
in_check_mask, num_bits);
--- a/src/svf/svf.c
+++ b/src/svf/svf.c
@@ -1350,12 +1350,9 @@ static int svf_run_command(struct comman
                                        return ERROR_FAIL;
                                }
                        }
-                       // no need to keep this memory, in jtag_add_pathmove, 
path will be duplicated
-                       if (NULL != path)
-                       {
-                               free(path);
-                               path = NULL;
-                       }
+
+                       free(path);
+                       path = NULL;
                }
                else
                {

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to