1.1 --- a/src/gdbserver.c Wed Jun 03 11:36:27 2009 +0000
1.2 +++ b/src/gdbserver.c Sat Jun 13 07:03:51 2009 +0000
1.5 * Parse bulk hex data - buffer should be at least datalen/2 bytes long
1.7 -size_t gdb_read_hex_data( struct gdb_server *server, unsigned char *buf, unsigned char *data, int datalen )
1.8 +size_t gdb_read_hex_data( struct gdb_server *server, unsigned char *buf, char *data, int datalen )
1.11 for( int i=0; i<datalen/2; i++ ) {
1.13 * Parse bulk binary-encoded data - $, #, 0x7D are encoded as 0x7d, char ^ 0x20.
1.14 * Buffer should be at least datalen bytes longs.
1.16 -size_t gdb_read_binary_data( struct gdb_server *server, unsigned char *buf, unsigned char *data, int datalen )
1.17 +size_t gdb_read_binary_data( struct gdb_server *server, unsigned char *buf, char *data, int datalen )
1.19 unsigned char *q = buf;
1.20 for( int i=0, j=0; i<datalen; i++ ) {
1.22 gdb_send_error( server, GDB_ERROR_FORMAT );
1.26 + unsigned char mem[tmp2];
1.28 datalen = server->cpu->read_mem_vma(mem, tmp, tmp2);
1.31 gdb_send_error( server, GDB_ERROR_FORMAT );
1.35 + unsigned char mem[tmp2];
1.36 len = gdb_read_hex_data( server, mem, data+tmp3, length-tmp3 );
1.38 gdb_send_error( server, GDB_ERROR_FORMAT );
1.40 if( sscanf( data, "%x,%x:%n", &tmp, &tmp2, &tmp3 ) != 2 ) {
1.41 gdb_send_error( server, GDB_ERROR_FORMAT );
1.43 - char mem[length - tmp3];
1.44 + unsigned char mem[length - tmp3];
1.45 size_t len = gdb_read_binary_data( server, mem, data + tmp3, length-tmp3 );
1.47 gdb_send_error( server, GDB_ERROR_FORMAT );