@@ -4766,7 +4766,7 @@ void cmd_anal_reg(RCore *core, const char *str) {
47664766 int size = 0 , i , type = R_REG_TYPE_GPR ;
47674767 int bits = (core -> anal -> bits & R_SYS_BITS_64 )? 64 : 32 ;
47684768 int use_colors = r_config_get_i (core -> config , "scr.color" );
4769- RRegItem * r ;
4769+ RRegItem * r = NULL ;
47704770 const char * use_color ;
47714771 const char * name ;
47724772 char * arg ;
@@ -5098,6 +5098,7 @@ void cmd_anal_reg(RCore *core, const char *str) {
50985098 arg = strchr (str + 1 , '=' );
50995099 if (arg ) {
51005100 * arg = 0 ;
5101+ ut64 n = r_num_math (core -> num , arg + 1 );
51015102 char * ostr = r_str_trim_dup (str + 1 );
51025103 char * regname = r_str_trim_nc (ostr );
51035104 r = r_reg_get (core -> dbg -> reg , regname , -1 );
@@ -5113,8 +5114,7 @@ void cmd_anal_reg(RCore *core, const char *str) {
51135114 if (r ) {
51145115 //eprintf ("%s 0x%08"PFMT64x" -> ", str,
51155116 // r_reg_get_value (core->dbg->reg, r));
5116- r_reg_set_value (core -> dbg -> reg , r ,
5117- r_num_math (core -> num , arg + 1 ));
5117+ r_reg_set_value (core -> dbg -> reg , r , n );
51185118 r_debug_reg_sync (core -> dbg , R_REG_TYPE_ALL , true);
51195119 //eprintf ("0x%08"PFMT64x"\n",
51205120 // r_reg_get_value (core->dbg->reg, r));
0 commit comments