!Parts1

この改造を取り入れる事で問題発生前に処理を中断出来るバグ
**** にてget_userされていないuseroutが行われています

&userout の呼び出しには、事前に get_user が行われていなければなりません。
●このまま書き込みを行うと、該当IDのユーザーデータの全て、または一部が消失する恐れがあります。
●get_user 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getuserflag に 1 を代入する事でこのエラーは表示されなくなります。
●userout が2回繰り返された時にもこのエラーを表示します。

**** にてget_userが2重に行われた後でuseroutされています

&get_user を2重に行った場合、&userout が行われてはなりません。
●本家版などの場合、このまま書き込みを行うと、通常はマイレコードが消失します。
●get_user 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getuserflag に 1 を代入する事でこのエラーは表示されなくなります。

**** にてget_partnerされていないpartneroutが行われています

&partnerout の呼び出しには、事前に get_partner が行われていなければなりません。
●このまま書き込みを行うと、該当IDのユーザーデータの全て、または一部が消失する恐れがあります。
●get_partner 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getpartnerflag に 1 を代入する事でこのエラーは表示されなくなります。
●partnerout が2回繰り返された時にもこのエラーを表示します。

**** にてget_partnerが2重に行われた後でpartneroutされています

&get_partner を2重に行った場合、&partnerout が行われてはなりません。
●本家版などの場合、このまま書き込みを行うと、通常はマイレコードが消失します。
●get_partner 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getpartnerflag に 1 を代入する事でこのエラーは表示されなくなります。


エラーを表示しない問題

&get_user > &userout を行った後に、再び &get_user > &userout を行う事は、本家版ではマイレコードが消失する原因となります。 
※( get_partner も同様です)
●当改造を組み込んでいる場合には、正常に動作しますので、エラー表示を行いません。
●当改造を組み込まない場合には、途中で $getpartnerflag をクリアしてやる必要があります。


!Parts2

sos2.cgi # Sub Get User # Line2142
return if $getuserflag;



sos2.cgi # Sub Get Partner # Line2157
return if $getpartnerflag;



sos2.cgi # Sub User Out # Line2171
$tm = time;



sos2.cgi # Sub User Out # Line2175
&writedat("$usrdir$id\.dat",@rcdlines);



sos2.cgi # Sub Partner Out # Line2179
sub partnerout {



sos2.cgi # Sub Partner Out # Line2183
&writedat("$usrdir$pid\.dat",@prclines);