--- a/src/gdbserver.c Wed Jun 03 11:36:27 2009 +0000 +++ b/src/gdbserver.c Wed Jun 24 06:06:40 2009 +0000 @@ -104,7 +104,7 @@ /** * Parse bulk hex data - buffer should be at least datalen/2 bytes long */ -size_t gdb_read_hex_data( struct gdb_server *server, unsigned char *buf, unsigned char *data, int datalen ) +size_t gdb_read_hex_data( struct gdb_server *server, unsigned char *buf, char *data, int datalen ) { char *p = data; for( int i=0; immu ) { datalen = server->cpu->read_mem_vma(mem, tmp, tmp2); } else { @@ -264,7 +264,7 @@ gdb_send_error( server, GDB_ERROR_FORMAT ); } else { size_t len; - char mem[tmp2]; + unsigned char mem[tmp2]; len = gdb_read_hex_data( server, mem, data+tmp3, length-tmp3 ); if( len != tmp2 ) { gdb_send_error( server, GDB_ERROR_FORMAT ); @@ -347,7 +347,7 @@ if( sscanf( data, "%x,%x:%n", &tmp, &tmp2, &tmp3 ) != 2 ) { gdb_send_error( server, GDB_ERROR_FORMAT ); } else { - char mem[length - tmp3]; + unsigned char mem[length - tmp3]; size_t len = gdb_read_binary_data( server, mem, data + tmp3, length-tmp3 ); if( len != tmp2 ) { gdb_send_error( server, GDB_ERROR_FORMAT );