- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!Parts1
<TABLE width="778" border="0" cellspacing="0" cellpadding="5">
<TR bgcolor="#FFCCCC">
<TD class="text">
<HR>
<SPAN class="subject">この改造を取り入れる事で問題発生前に処理を中断出来るバグ </SPAN>
<HR>
<B><FONT color="#FF0000">**** にてget_userされていないuseroutが行われています </FONT></B>
<P>&userout の呼び出しには、事前に get_user が行われていなければなりません。<BR>
●このまま書き込みを行うと、該当IDのユーザーデータの全て、または一部が消失する恐れがあります。 <BR>
●get_user 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getuserflag に
1 を代入する事でこのエラーは表示されなくなります。 <BR>
●userout が2回繰り返された時にもこのエラーを表示します。</P>
<P><B><FONT color="#FF0000">**** にてget_userが2重に行われた後でuseroutされています</FONT></B></P>
<P>&get_user を2重に行った場合、&userout が行われてはなりません。 <BR>
●本家版などの場合、このまま書き込みを行うと、通常はマイレコードが消失します。 <BR>
●get_user 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getuserflag に
1 を代入する事でこのエラーは表示されなくなります。 </P>
<P><FONT color="#FF0000"><B>**** にてget_partnerされていないpartneroutが行われています </B></FONT></P>
<P>&partnerout の呼び出しには、事前に get_partner が行われていなければなりません。 <BR>
●このまま書き込みを行うと、該当IDのユーザーデータの全て、または一部が消失する恐れがあります。<BR>
●get_partner 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getpartnerflag
に 1 を代入する事でこのエラーは表示されなくなります。 <BR>
●partnerout が2回繰り返された時にもこのエラーを表示します。</P>
<P><FONT color="#FF0000"><B>**** にてget_partnerが2重に行われた後でpartneroutされています
</B></FONT></P>
<P>&get_partner を2重に行った場合、&partnerout が行われてはなりません。 <BR>
●本家版などの場合、このまま書き込みを行うと、通常はマイレコードが消失します。 <BR>
●get_partner 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getpartnerflag
に 1 を代入する事でこのエラーは表示されなくなります。 </P>
<HR>
<P><B><FONT color="#FF0000">エラーを表示しない問題</FONT></B></P>
<P> &get_user > &userout を行った後に、再び &get_user > &userout
を行う事は、本家版ではマイレコードが消失する原因となります。 <BR>
※( get_partner も同様です) <BR>
●当改造を組み込んでいる場合には、正常に動作しますので、エラー表示を行いません。 <BR>
●当改造を組み込まない場合には、途中で $getpartnerflag をクリアしてやる必要があります。 </P>
<HR>
</TD>
</TR>
</TABLE>
!Parts2
<br>
<B><FONT color="#0000FF"><A href="../download/judge_cgi.txt"></A></FONT></B><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Get User # Line2142</FONT></B><BR>
<b>return if $getuserflag; </b><Br>
<TEXTAREA name="textfield2" cols="100" rows="3">
#-EDIT- return if $getuserflag;
if ($getuserflag) { $getuserflag = -1; return @rcdlines; }
#-END of EDIT- SOSWiki0016v1.00-1-1/6
#-END of EDIT- SION0016v1.00-1-1/6
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Get Partner # Line2157</FONT></B><BR>
<b>return if $getpartnerflag; </b><br>
<TEXTAREA name="textarea13" cols="100" rows="3">
#-EDIT- return if $getpartnerflag;
if ($getpartnerflag) { $getpartnerflag = -1; return; }
#-END of EDIT- SOSWiki0016v1.00-1-2/6
#-END of EDIT- SION0016v1.00-1-2/6
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub User Out # Line2171</FONT></B><BR>
<b>$tm = time; </b><br>
<TEXTAREA name="textarea14" cols="100" rows="5">
#-ADD-
push (@editor,"改造時データ保全 Ver 1.00 <A href='http://www.salion2.halfmoon.jp/soswiki/wiki.cgi' target='_blank'>by SION & SOSWiki</A>");
if (!$getuserflag) { push(@msg,"$Fm{'mode'}にてget_userされていないuseroutが行われています"); return; }
if ($getuserflag == -1) { push(@msg,"$Fm{'mode'}にてget_userが2重に行われた後でuseroutされています"); return; }
pop @editor;
#-END of EDIT- SOSWiki0016v1.00-1-3/6
#-END of EDIT- SION0016v1.00-1-3/6
$tm = time;
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub User Out # Line2175</FONT></B> <BR>
<B>&writedat("$usrdir$id\.dat",@rcdlines); </b><BR>
<TEXTAREA name="textarea15" cols="100" rows="4">
&writedat("$usrdir$id\.dat",@rcdlines);
#-ADD-
$getuserflag = 0;
#-END of EDIT- SOSWiki0016v1.00-1-4/6
#-END of EDIT- SION0016v1.00-1-4/6
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Partner Out # Line2179</FONT></B><BR>
<b>sub partnerout { </b><Br>
<TEXTAREA name="textarea16" cols="100" rows="5">
sub partnerout {
#-ADD-
push (@editor,"改造時データ保全 Ver 1.00 <A href='http://www.salion2.halfmoon.jp/soswiki/wiki.cgi' target='_blank'>by SION & SOSWiki</A>");
if (!$getpartnerflag) { push(@msg,"$Fm{'mode'}にてget_partnerされていないpartneroutが行われています"); return; }
if ($getpartnerflag == -1) { push(@msg,"$Fm{'mode'}にてget_partnerが2重に行われた後でpartneroutされています"); return; }
pop @editor;
#-END of EDIT- SOSWiki0016v1.00-1-5/6
#-END of EDIT- SION0016v1.00-1-5/6
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Partner Out # Line2183</FONT></B><BR>
<b>&writedat("$usrdir$pid\.dat",@prclines); </b><br>
<TEXTAREA name="textarea5" cols="100" rows="4">
&writedat("$usrdir$pid\.dat",@prclines);
#-ADD-
$getpartnerflag = 0;
#-END of EDIT- SOSWiki0016v1.00-1-6/6
#-END of EDIT- SION0016v1.00-1-6/6
</TEXTAREA>