summaryrefslogtreecommitdiff
path: root/src/pld
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-10-24 01:22:58 -0700
committerZachary T Welch <zw@superlucidity.net>2009-11-05 18:03:19 -0800
commit6e542407e7927ec589824b56ba706ed02d0ba97f (patch)
tree1026b225c45a0038085a804d9306a5b6b5ef0bd8 /src/pld
parent2b78a4e82b1845ee7cc89f6e31d7b49e9299cb32 (diff)
downloadopenocd_libswd-6e542407e7927ec589824b56ba706ed02d0ba97f.tar.gz
openocd_libswd-6e542407e7927ec589824b56ba706ed02d0ba97f.tar.bz2
openocd_libswd-6e542407e7927ec589824b56ba706ed02d0ba97f.tar.xz
openocd_libswd-6e542407e7927ec589824b56ba706ed02d0ba97f.zip
Improve pld command argument parsing.
Diffstat (limited to 'src/pld')
-rw-r--r--src/pld/pld.c13
-rw-r--r--src/pld/virtex2.c4
2 files changed, 11 insertions, 6 deletions
diff --git a/src/pld/pld.c b/src/pld/pld.c
index 391fb761..2bfb4016 100644
--- a/src/pld/pld.c
+++ b/src/pld/pld.c
@@ -175,7 +175,9 @@ static int handle_pld_load_command(struct command_context_s *cmd_ctx,
return ERROR_OK;
}
- p = get_pld_device_by_num(strtoul(args[0], NULL, 0));
+ unsigned dev_id;
+ COMMAND_PARSE_NUMBER(uint, args[0], dev_id);
+ p = get_pld_device_by_num(dev_id);
if (!p)
{
command_print(cmd_ctx, "pld device '#%s' is out of bounds", args[0]);
@@ -184,19 +186,20 @@ static int handle_pld_load_command(struct command_context_s *cmd_ctx,
if ((retval = p->driver->load(p, args[1])) != ERROR_OK)
{
- command_print(cmd_ctx, "failed loading file %s to pld device %lu",
- args[1], strtoul(args[0], NULL, 0));
+ command_print(cmd_ctx, "failed loading file %s to pld device %u",
+ args[1], dev_id);
switch (retval)
{
}
+ return retval;
}
else
{
gettimeofday(&end, NULL);
timeval_subtract(&duration, &end, &start);
- command_print(cmd_ctx, "loaded file %s to pld device %lu in %jis %jius",
- args[1], strtoul(args[0], NULL, 0),
+ command_print(cmd_ctx, "loaded file %s to pld device %u in %jis %jius",
+ args[1], dev_id,
(intmax_t)duration.tv_sec, (intmax_t)duration.tv_usec);
}
diff --git a/src/pld/virtex2.c b/src/pld/virtex2.c
index 831503a5..28cae6ca 100644
--- a/src/pld/virtex2.c
+++ b/src/pld/virtex2.c
@@ -202,7 +202,9 @@ static int virtex2_handle_read_stat_command(struct command_context_s *cmd_ctx,
return ERROR_OK;
}
- device = get_pld_device_by_num(strtoul(args[0], NULL, 0));
+ unsigned dev_id;
+ COMMAND_PARSE_NUMBER(uint, args[0], dev_id);
+ device = get_pld_device_by_num(dev_id);
if (!device)
{
command_print(cmd_ctx, "pld device '#%s' is out of bounds", args[0]);