From f5af7f465f635877aafcea1bc630016e4d86114f Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 18 Feb 2019 03:23:15 -1100 Subject: [PATCH 1/3] Fix player info crash --- src/cc/rogue/pack.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cc/rogue/pack.c b/src/cc/rogue/pack.c index f8fc98175..7fae5452a 100644 --- a/src/cc/rogue/pack.c +++ b/src/cc/rogue/pack.c @@ -169,10 +169,12 @@ int32_t num_packitems(struct rogue_state *rs) total += list->o_count; } } - - char str[MAXSTR]; - sprintf(str,"strength*3 %d vs total.%d vs %d inventory letters\n",pstats.s_str*3,total,n); - add_line(rs,"%s",str); + if ( 0 ) + { + char str[MAXSTR]; + sprintf(str,"strength*3 %d vs total.%d vs %d inventory letters\n",pstats.s_str*3,total,n); + add_line(rs,"%s",str); + } if ( total > pstats.s_str*3 ) return(MAXPACK); return(n); From 25acb3c52ca4246b79ddb1b3187491a8ce5d24dc Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 18 Feb 2019 04:01:14 -1100 Subject: [PATCH 2/3] Fix setpubkey crash --- src/wallet/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index f945b82fc..6d37033d6 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -5306,7 +5306,7 @@ UniValue setpubkey(const UniValue& params, bool fHelp) LOCK(cs_main); #endif - char Raddress[18]; + char Raddress[64]; uint8_t pubkey33[33]; if ( NOTARY_PUBKEY33[0] == 0 ) { if (strlen(params[0].get_str().c_str()) == 66) { From 726a46027aa156ba1a216f9650f24e49f55af031 Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 18 Feb 2019 05:27:51 -1100 Subject: [PATCH 3/3] Init pack --- src/cc/rogue/init.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/cc/rogue/init.c b/src/cc/rogue/init.c index 1a5faa9ce..30370f958 100644 --- a/src/cc/rogue/init.c +++ b/src/cc/rogue/init.c @@ -24,7 +24,7 @@ void rogue_restoreobject(THING *o,struct rogue_packitem *item); void restore_player(struct rogue_state *rs) { - int32_t i; THING *obj; + int32_t i,total = 0; THING *obj; //rs->P.gold = purse; max_hp = rs->P.hitpoints; pstats.s_str = rs->P.strength & 0xffff; @@ -34,10 +34,13 @@ void restore_player(struct rogue_state *rs) pstats.s_str = max_stats.s_str; pstats.s_lvl = rs->P.level; pstats.s_exp = rs->P.experience; - for (i=0; iP.packsize; i++) + for (i=0; iP.packsize&&iP.roguepack[i]); + total += obj->o_count; + if ( total > pstats.s_str*3 ) + break; add_pack(rs,obj,TRUE); } }