2003-08-12 Andrew Cagney <cagney@redhat.com>

* Makefile.in (dsrec.o): Update dependencies.
	* dsrec.c: Include "gdb_assert.h".
	(make_srec): Use snprintf instead of sprintf, use a literal format
	string.
This commit is contained in:
Andrew Cagney 2003-08-12 19:34:20 +00:00
parent bcf7d3caa2
commit 44160db329
3 changed files with 16 additions and 8 deletions

View File

@ -1,3 +1,10 @@
2003-08-12 Andrew Cagney <cagney@redhat.com>
* Makefile.in (dsrec.o): Update dependencies.
* dsrec.c: Include "gdb_assert.h".
(make_srec): Use snprintf instead of sprintf, use a literal format
string.
2003-08-12 Andrew Cagney <cagney@redhat.com> 2003-08-12 Andrew Cagney <cagney@redhat.com>
* frame.c (deprecated_frame_xmalloc): Use XMALLOC, instead of * frame.c (deprecated_frame_xmalloc): Use XMALLOC, instead of

View File

@ -1687,7 +1687,7 @@ disasm.o: disasm.c $(defs_h) $(target_h) $(value_h) $(ui_out_h) \
doublest.o: doublest.c $(defs_h) $(doublest_h) $(floatformat_h) \ doublest.o: doublest.c $(defs_h) $(doublest_h) $(floatformat_h) \
$(gdb_assert_h) $(gdb_string_h) $(gdbtypes_h) $(gdb_assert_h) $(gdb_string_h) $(gdbtypes_h)
dpx2-nat.o: dpx2-nat.c $(defs_h) $(gdbcore_h) $(gdb_string_h) dpx2-nat.o: dpx2-nat.c $(defs_h) $(gdbcore_h) $(gdb_string_h)
dsrec.o: dsrec.c $(defs_h) $(serial_h) $(srec_h) dsrec.o: dsrec.c $(defs_h) $(serial_h) $(srec_h) $(gdb_assert_h)
dummy-frame.o: dummy-frame.c $(defs_h) $(dummy_frame_h) $(regcache_h) \ dummy-frame.o: dummy-frame.c $(defs_h) $(dummy_frame_h) $(regcache_h) \
$(frame_h) $(inferior_h) $(gdb_assert_h) $(frame_unwind_h) \ $(frame_h) $(inferior_h) $(gdb_assert_h) $(frame_unwind_h) \
$(command_h) $(gdbcmd_h) $(command_h) $(gdbcmd_h)

View File

@ -23,6 +23,7 @@
#include "serial.h" #include "serial.h"
#include "srec.h" #include "srec.h"
#include <time.h> #include <time.h>
#include "gdb_assert.h"
extern void report_transfer_performance (unsigned long, time_t, time_t); extern void report_transfer_performance (unsigned long, time_t, time_t);
@ -223,10 +224,6 @@ make_srec (char *srec, CORE_ADDR targ_addr, bfd *abfd, asection *sect,
const static char data_code_table[] = "123"; const static char data_code_table[] = "123";
const static char term_code_table[] = "987"; const static char term_code_table[] = "987";
const static char header_code_table[] = "000"; const static char header_code_table[] = "000";
const static char *formats[] =
{"S%c%02X%04X",
"S%c%02X%06X",
"S%c%02X%08X"};
char const *code_table; char const *code_table;
int addr_size; int addr_size;
int payload_size; int payload_size;
@ -271,9 +268,10 @@ make_srec (char *srec, CORE_ADDR targ_addr, bfd *abfd, asection *sect,
payload_size = 0; /* Term or header packets have no payload */ payload_size = 0; /* Term or header packets have no payload */
/* Output the header. */ /* Output the header. */
snprintf (srec, (*maxrecsize) + 1, "S%c%02X%0*X",
sprintf (srec, formats[addr_size - 2], code_table[addr_size - 2], code_table[addr_size - 2],
addr_size + payload_size + 1, (int) targ_addr); addr_size + payload_size + 1,
addr_size * 2, (int) targ_addr);
/* Note that the checksum is calculated on the raw data, not the /* Note that the checksum is calculated on the raw data, not the
hexified data. It includes the length, address and the data hexified data. It includes the length, address and the data
@ -287,6 +285,9 @@ make_srec (char *srec, CORE_ADDR targ_addr, bfd *abfd, asection *sect,
+ ((targ_addr >> 16) & 0xff) + ((targ_addr >> 16) & 0xff)
+ ((targ_addr >> 24) & 0xff)); + ((targ_addr >> 24) & 0xff));
/* NOTE: cagney/2003-08-10: The equation is old. Check that the
recent snprintf changes match that equation. */
gdb_assert (strlen (srec) == 1 + 1 + 2 + addr_size * 2);
p = srec + 1 + 1 + 2 + addr_size * 2; p = srec + 1 + 1 + 2 + addr_size * 2;
/* Build the Srecord. */ /* Build the Srecord. */