xsvf: fix minor typos
[fw/openocd] / src / xsvf / xsvf.c
index 137dd63ac0bb45c175f0aa64dde8dacef4a0b441..53779bb1cd6bf9698b59a13db6e430c16e2e7258 100644 (file)
  *   GNU General Public License for more details.                          *
  *                                                                         *
  *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
 /* The specification for SVF is available here:
  * http://www.asset-intertech.com/support/svf.pdf
- * Below, this document is refered to as the "SVF spec".
+ * Below, this document is referred to as the "SVF spec".
  *
  * The specification for XSVF is available here:
  * http://www.xilinx.com/support/documentation/application_notes/xapp503.pdf
- * Below, this document is refered to as the "XSVF spec".
+ * Below, this document is referred to as the "XSVF spec".
  */
 
 #ifdef HAVE_CONFIG_H
@@ -232,7 +230,7 @@ COMMAND_HANDLER(handle_xsvf_command)
        unsigned pathlen = 0;
 
        /* a flag telling whether to clock TCK during waits,
-        * or simply sleep, controled by virt2
+        * or simply sleep, controlled by virt2
         */
        int runtest_requires_tck = 0;
 
@@ -251,14 +249,14 @@ COMMAND_HANDLER(handle_xsvf_command)
        if (strcmp(CMD_ARGV[0], "plain") != 0) {
                tap = jtag_tap_by_string(CMD_ARGV[0]);
                if (!tap) {
-                       command_print(CMD_CTX, "Tap: %s unknown", CMD_ARGV[0]);
+                       command_print(CMD, "Tap: %s unknown", CMD_ARGV[0]);
                        return ERROR_FAIL;
                }
        }
 
        xsvf_fd = open(filename, O_RDONLY);
        if (xsvf_fd < 0) {
-               command_print(CMD_CTX, "file \"%s\" not found", filename);
+               command_print(CMD, "file \"%s\" not found", filename);
                return ERROR_FAIL;
        }
 
@@ -273,6 +271,7 @@ COMMAND_HANDLER(handle_xsvf_command)
        if ((CMD_ARGC > 2) && (strcmp(CMD_ARGV[2], "quiet") == 0))
                verbose = 0;
 
+       LOG_WARNING("XSVF support in OpenOCD is limited. Consider using SVF instead");
        LOG_USER("xsvf processing file: \"%s\"", filename);
 
        while (read(xsvf_fd, &opcode, 1) > 0) {
@@ -457,7 +456,7 @@ COMMAND_HANDLER(handle_xsvf_command)
 
                                        if (attempt > 0) {
                                                /* perform the XC9500 exception handling sequence shown in xapp067.pdf and
-                                                * illustrated in psuedo code at end of this file.  We start from state
+                                                * illustrated in pseudo code at end of this file.  We start from state
                                                 * DRPAUSE:
                                                 * go to Exit2-DR
                                                 * go to Shift-DR
@@ -919,8 +918,10 @@ COMMAND_HANDLER(handle_xsvf_command)
                                        struct scan_field field;
 
                                        result = svf_add_statemove(loop_state);
-                                       if (result != ERROR_OK)
+                                       if (result != ERROR_OK) {
+                                               free(dr_in_mask);
                                                return result;
+                                       }
                                        jtag_add_clocks(loop_clocks);
                                        jtag_add_sleep(loop_usecs);
 
@@ -1006,7 +1007,7 @@ COMMAND_HANDLER(handle_xsvf_command)
        }
 
        if (tdo_mismatch) {
-               command_print(CMD_CTX,
+               command_print(CMD,
                        "TDO mismatch, somewhere near offset %lu in xsvf file, aborting",
                        file_offset);
 
@@ -1015,14 +1016,14 @@ COMMAND_HANDLER(handle_xsvf_command)
 
        if (unsupported) {
                off_t offset = lseek(xsvf_fd, 0, SEEK_CUR) - 1;
-               command_print(CMD_CTX,
+               command_print(CMD,
                        "unsupported xsvf command (0x%02X) at offset %jd, aborting",
                        uc, (intmax_t)offset);
                return ERROR_FAIL;
        }
 
        if (do_abort) {
-               command_print(CMD_CTX, "premature end of xsvf file detected, aborting");
+               command_print(CMD, "premature end of xsvf file detected, aborting");
                return ERROR_FAIL;
        }
 
@@ -1037,7 +1038,7 @@ COMMAND_HANDLER(handle_xsvf_command)
 
        close(xsvf_fd);
 
-       command_print(CMD_CTX, "XSVF file programmed successfully");
+       command_print(CMD, "XSVF file programmed successfully");
 
        return ERROR_OK;
 }