David Brownell <david-b@pacbell.net>: This patch adds annotations to

the key command_*() helper functions, fixng the bugs that turned up.

Several of these bugs were from misuse of PRIi64; that's for 64-bit
integers, NOT for "long long" or "u64" (which work best with %lld).


git-svn-id: svn://svn.berlios.de/openocd/trunk@1873 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
zwelch 2009-05-21 09:28:57 +00:00
parent 5982d4eca8
commit 570631454d
10 changed files with 34 additions and 24 deletions

View File

@ -432,7 +432,7 @@ static int handle_flash_erase_check_command(struct command_context_s *cmd_ctx, c
int j;
if ((retval = p->driver->erase_check(p)) == ERROR_OK)
{
command_print(cmd_ctx, "successfully checked erase state", p->driver->name, p->base);
command_print(cmd_ctx, "successfully checked erase state");
}
else
{
@ -567,7 +567,8 @@ static int handle_flash_erase_command(struct command_context_s *cmd_ctx, char *c
return retval;
}
command_print(cmd_ctx, "erased sectors %i through %i on flash bank %i in %s", first, last, strtoul(args[0], 0, 0), duration_text);
command_print(cmd_ctx, "erased sectors %i through %i on flash bank %li in %s",
first, last, strtoul(args[0], 0, 0), duration_text);
free(duration_text);
}
}
@ -606,7 +607,9 @@ static int handle_flash_protect_command(struct command_context_s *cmd_ctx, char
retval = flash_driver_protect(p, set, first, last);
if (retval == ERROR_OK)
{
command_print(cmd_ctx, "%s protection for sectors %i through %i on flash bank %i", (set) ? "set" : "cleared", first, last, strtoul(args[0], 0, 0));
command_print(cmd_ctx, "%s protection for sectors %i through %i on flash bank %li",
(set) ? "set" : "cleared", first,
last, strtoul(args[0], 0, 0));
}
}
else
@ -873,7 +876,7 @@ static int handle_flash_write_bank_command(struct command_context_s *cmd_ctx, ch
}
if (retval==ERROR_OK)
{
command_print(cmd_ctx, "wrote %"PRIi64" byte from file %s to flash bank %i at offset 0x%8.8x in %s (%f kb/s)",
command_print(cmd_ctx, "wrote %lld byte from file %s to flash bank %li at offset 0x%8.8x in %s (%f kb/s)",
fileio.size, args[1], strtoul(args[0], NULL, 0), offset, duration_text,
(float)fileio.size / 1024.0 / ((float)duration.duration.tv_sec + ((float)duration.duration.tv_usec / 1000000.0)));
}

View File

@ -1148,7 +1148,7 @@ static int handle_nand_info_command(struct command_context_s *cmd_ctx, char *cmd
}
else
{
command_print(cmd_ctx, "#%i: not probed");
command_print(cmd_ctx, "#%s: not probed", args[0]);
}
}
@ -1251,7 +1251,7 @@ int handle_nand_check_bad_blocks_command(struct command_context_s *cmd_ctx, char
{
if ((retval = nand_build_bbt(p, first, last)) == ERROR_OK)
{
command_print(cmd_ctx, "checked NAND flash device for bad blocks, use \"nand info\" command to list blocks", p->device->name);
command_print(cmd_ctx, "checked NAND flash device for bad blocks, use \"nand info\" command to list blocks");
}
else if (retval == ERROR_NAND_OPERATION_FAILED)
{
@ -1570,13 +1570,13 @@ static int handle_nand_dump_command(struct command_context_s *cmd_ctx, char *cmd
fileio_close(&fileio);
duration_stop_measure(&duration, &duration_text);
command_print(cmd_ctx, "dumped %"PRIi64" byte in %s", fileio.size, duration_text);
command_print(cmd_ctx, "dumped %lld byte in %s", fileio.size, duration_text);
free(duration_text);
duration_text = NULL;
}
else
{
command_print(cmd_ctx, "#%i: not probed");
command_print(cmd_ctx, "#%s: not probed", args[0]);
}
}
else
@ -1621,7 +1621,7 @@ static int handle_nand_raw_access_command(struct command_context_s *cmd_ctx, cha
}
else
{
command_print(cmd_ctx, "#%i: not probed");
command_print(cmd_ctx, "#%s: not probed", args[0]);
}
}
else

View File

@ -83,10 +83,14 @@ extern command_context_t* copy_command_context(command_context_t* context);
extern int command_context_mode(command_context_t *context, enum command_mode mode);
extern command_context_t* command_init(void);
extern int command_done(command_context_t *context);
extern void command_print(command_context_t *context, char *format, ...);
extern void command_print_sameline(command_context_t *context, char *format, ...);
extern void command_print(command_context_t *context, char *format, ...)
__attribute__ ((format (printf, 2, 3)));
extern void command_print_sameline(command_context_t *context, char *format, ...)
__attribute__ ((format (printf, 2, 3)));
extern int command_run_line(command_context_t *context, char *line);
extern int command_run_linef(command_context_t *context, char *format, ...);
extern int command_run_linef(command_context_t *context, char *format, ...)
__attribute__ ((format (printf, 2, 3)));
extern void command_output_text(command_context_t *context, const char *data);
extern void process_jim_events(void);

View File

@ -178,7 +178,7 @@ int handle_pld_load_command(struct command_context_s *cmd_ctx, char *cmd, char *
if ((retval = p->driver->load(p, args[1])) != ERROR_OK)
{
command_print(cmd_ctx, "failed loading file %s to pld device %i",
command_print(cmd_ctx, "failed loading file %s to pld device %lu",
args[1], strtoul(args[0], NULL, 0));
switch (retval)
{
@ -188,9 +188,10 @@ int handle_pld_load_command(struct command_context_s *cmd_ctx, char *cmd, char *
{
gettimeofday(&end, NULL);
timeval_subtract(&duration, &end, &start);
command_print(cmd_ctx, "loaded file %s to pld device %i in %is %ius",
args[1], strtoul(args[0], NULL, 0), duration.tv_sec, duration.tv_usec);
command_print(cmd_ctx, "loaded file %s to pld device %lu in %lis %lius",
args[1], strtoul(args[0], NULL, 0),
duration.tv_sec, duration.tv_usec);
}
return ERROR_OK;

View File

@ -330,7 +330,7 @@ static int handle_svf_command(struct command_context_s *cmd_ctx, char *cmd, char
}
// print time
command_print(cmd_ctx, "%d ms used", timeval_ms() - time_ago);
command_print(cmd_ctx, "%lld ms used", timeval_ms() - time_ago);
free_all:

View File

@ -342,7 +342,7 @@ int handle_armv4_5_reg_command(struct command_context_s *cmd_ctx, char *cmd, cha
output_len += snprintf(output + output_len, 128 - output_len, "%8s: %8.8x ", ARMV4_5_CORE_REG_MODENUM(armv4_5->core_cache, mode, num).name,
buf_get_u32(ARMV4_5_CORE_REG_MODENUM(armv4_5->core_cache, mode, num).value, 0, 32));
}
command_print(cmd_ctx, output);
command_print(cmd_ctx, "%s", output);
}
command_print(cmd_ctx, " cpsr: %8.8x spsr_fiq: %8.8x spsr_irq: %8.8x spsr_svc: %8.8x spsr_abt: %8.8x spsr_und: %8.8x",
buf_get_u32(armv4_5->core_cache->reg_list[ARMV4_5_CPSR].value, 0, 32),

View File

@ -299,7 +299,7 @@ int armv4_5_mmu_handle_md_phys_command(command_context_t *cmd_ctx, char *cmd, ch
if ((i % 8 == 7) || (i == count - 1))
{
command_print(cmd_ctx, output);
command_print(cmd_ctx, "%s", output);
output_len = 0;
}
}

View File

@ -1674,7 +1674,7 @@ static int handle_etm_trigger_percent_command(struct command_context_s *cmd_ctx,
if ((new_value < 2) || (new_value > 100))
{
command_print(cmd_ctx, "valid settings are 2% to 100%");
command_print(cmd_ctx, "valid settings are 2%% to 100%%");
}
else
{

View File

@ -1910,7 +1910,7 @@ static int handle_md_command(struct command_context_s *cmd_ctx, char *cmd, char
if ((i%line_modulo == line_modulo-1) || (i == count - 1))
{
command_print(cmd_ctx, output);
command_print(cmd_ctx, "%s", output);
output_len = 0;
}
}
@ -2168,7 +2168,8 @@ static int handle_dump_image_command(struct command_context_s *cmd_ctx, char *cm
if (retval==ERROR_OK)
{
command_print(cmd_ctx, "dumped %"PRIi64" byte in %s", fileio.size, duration_text);
command_print(cmd_ctx, "dumped %lld byte in %s",
fileio.size, duration_text);
free(duration_text);
}
@ -2369,7 +2370,8 @@ static int handle_bp_command(struct command_context_s *cmd_ctx, char *cmd, char
}
else
{
command_print(cmd_ctx, "breakpoint added at address 0x%8.8x", strtoul(args[0], NULL, 0));
command_print(cmd_ctx, "breakpoint added at address 0x%8.8lx",
strtoul(args[0], NULL, 0));
}
}
else

View File

@ -60,7 +60,7 @@ static int handle_trace_point_command(struct command_context_s *cmd_ctx, char *c
for (i = 0; i < trace->num_trace_points; i++)
{
command_print(cmd_ctx, "trace point 0x%8.8x (%"PRIi64" times hit)",
command_print(cmd_ctx, "trace point 0x%8.8x (%lld times hit)",
trace->trace_points[i].address,
trace->trace_points[i].hit_counter);
}