[▲前のスレッド]

2008/11/21 (金) 10:16:17 げんた  
INCM1.23c
[5464] ANSI版の更新履歴について
リリース時のために変更履歴をWikiのHistoryページに記入するようにしていたのですが,最近誰も更新してくれないのでHistory/x.x.x.x のページには1つしか記入されておりません.

自分でSubversionのlogから復元しようかとも思いましたが掲示板の当該記事を見つけるのが難しそうなので,ここ半年のANSI版のcommit状況を把握している人がいましたらどなたか更新していただけないでしょうか.

2008/11/22 (土) 01:27:13 syat  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
[5465] Re:ANSI版の更新履歴について
自分がコミットしたものは記入しました。
またバグ修正のところにBugsInfo.txtの内容をとりあえず貼りつけておきました。

2008/11/22 (土) 13:30:10 げんた  
INCM1.23c
[5466] Re2:ANSI版の更新履歴について
subversionの履歴から変更履歴を分かる範囲で作成しました.
念のため,ご確認ください.
誤りや抜けがあるようでしたら修正・追記をお願いします.

更新履歴が完成したら,現時点のものをリリース版として登録するつもりです.
(自分では新機能や修正の確認はしてませんが(^^;))

2008/11/22 (土) 23:07:46 ryoji  
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SV1; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618)
[5469] Re3:ANSI版の更新履歴について
▼ げんたさん
> subversionの履歴から変更履歴を分かる範囲で作成しました.
> 念のため,ご確認ください.
> 誤りや抜けがあるようでしたら修正・追記をお願いします.


ひととおり見て、いくつか修正・追記(新規追加分>>dev:5461含む)しておきました。

2008/11/23 (日) 00:25:37 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; KDDI-MA33) Opera 8.60 [ja]
[5470] Re:ANSI版の更新履歴について
すみません。多忙な上携帯しかない状態なのであまり確認できてないです m(_ _)m
ぱっと見では私絡みの所はOKと思います。
 
その他では、以下をコミットして欲しいです。
 #1849852 #if(0)でC/C++アウトライン解析に失敗
 
また、できれば以下のレビューもお願いしたいです。
 2002211 長すぎるファイルパスのオープン・クローズで落ちる
 2124374 設定ダイアログでOKすると非アクティブなウィンドウのツールバーが全て有効となる
 
ではでは。

2008/11/23 (日) 02:47:25 げんた  
INCM1.23c
[5471] Re2:ANSI版の更新履歴について
>ぱっと見では私絡みの所はOKと思います。
Wikiですので,後ほど気づいたときでもかまいません.

>その他では、以下をコミットして欲しいです。
> #1849852 #if(0)でC/C++アウトライン解析に失敗

ああっ,すいません(^^ゞ
sakura/trunk#1471でcommitしました.

>また、できれば以下のレビューもお願いしたいです。
> 2002211 長すぎるファイルパスのオープン・クローズで落ちる
> 2124374 設定ダイアログでOKすると非アクティブなウィンドウのツールバーが全て有効となる

差分を確認の上,Patchesにコメントを追記しました.
2124374の方はcommitしても良いと思います.

2008/11/24 (月) 02:31:18 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)
[5472] Re3:ANSI版の更新履歴について
#2002211を更新しました。

--

チェックをDoModal...()の関数からGetOpenFileNameRecover()/GetSaveFileName
Recover()
に移動しました。
また、バックアップファイル作成時のファイルパスもチェックするようにしました。

前回は気が付きませんでしたが、上書き確認の後にパス長確認になっています。
なので、フックを使わない場合上書き確認でOKした後パス長でエラーとなります。
フックを使う場合、プロシージャ内で_MAX_PATH未満にパスを切り詰めているので
上書き確認できず、たまたまパス長エラーだけが表示されます。
(切り詰めたパス名と同名ファイルがあると上書き確認される)

セーブダイアログは必ずフックを使用しプロシージャ内でもパス長チェックする
のが理想的と思いますが、今回そこまでは修正していません。

260バイト以上のパス長のファイルは、"C:\a"のような1文字フォルダに長い
ファイル名のファイルを作成しフォルダ名を変更すると作成可能です。

--

悩ましい感じもするので、長引くようなら#2002211は次回リリースに持ち越しましょう (^^;

2008/11/24 (月) 12:35:48 ryoji  
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SV1; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618)
[5474] Re4:ANSI版の更新履歴について
> 悩ましい感じ
気付いちゃったのね(^^;;;

2008/11/24 (月) 14:05:14 げんた  
INCM1.23c
[5475] Re4:ANSI版の更新履歴について
>前回は気が付きませんでしたが、上書き確認の後にパス長確認になっています。
>なので、フックを使わない場合上書き確認でOKした後パス長でエラーとなります。
>フックを使う場合、プロシージャ内で_MAX_PATH未満にパスを切り詰めているので
>上書き確認できず、たまたまパス長エラーだけが表示されます。
>(切り詰めたパス名と同名ファイルがあると上書き確認される)

OFNHookProc()のcase CDN_FILEOK: 処理のところですね.確かに...

>セーブダイアログは必ずフックを使用しプロシージャ内でもパス長チェックする
>のが理想的と思いますが、今回そこまでは修正していません。

まあ,微妙なところなのでこのままでも良いのではないでしょうか.

>260バイト以上のパス長のファイルは、"C:\a"のような1文字フォルダに長い
>ファイル名のファイルを作成しフォルダ名を変更すると作成可能です。

作成可能ではありますが,Windowsにアクセスを拒否されるみたいです.

--
もう一点,普通はやらないと思いますが,バックアップの詳細設定を使用して(CEditDoc::FormatBackUpPath()のm_bBackUpPathAdvanced=1の場合),たとえば $0_$0_$0_$0_$0_$0_$0_$0_$0_$0といったパターンが指定されると,バックアップ文字列がファイル名の何倍にもなり,1024バイトの内部バッファを突破して悲しいことになります.ですので,厳密に言えばCEditDoc.cppの1747行目付近のファイル名・ディレクトリ名置換,および1778行目の拡張子置換の各ループ毎に長さチェックが必要だと思います.

2008/11/25 (火) 15:44:36 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727)
[5476] Re5:ANSI版の更新履歴について
▼ げんたさん
> >セーブダイアログは必ずフックを使用しプロシージャ内でもパス長チェックする
> >のが理想的と思いますが、今回そこまでは修正していません。

> まあ,微妙なところなのでこのままでも良いのではないでしょうか.


そうですね。元々_MAX_PATHを超えないようにしてあったのでこのままにしておきます。

> >260バイト以上のパス長のファイルは、"C:\a"のような1文字フォルダに長い
> >ファイル名のファイルを作成しフォルダ名を変更すると作成可能です。

> 作成可能ではありますが,Windowsにアクセスを拒否されるみたいです.


ファイル名に2バイト文字があればいけるのではないでしょうか?
私の所のWin2k SP4では、266バイトのパス長のファイルがunicode版で編集可能です。

> もう一点,普通はやらないと思いますが,バックアップの詳細設定を使用して(CEditDoc::FormatBackUpPath()のm_bBackUpPathAdvanced=1の場合),たとえば $0_$0_$0_$0_$0_$0_$0_$0_$0_$0といったパターンが指定されると,バックアップ文字列がファイル名の何倍にもなり,1024バイトの内部バッファを突破して悲しいことになります.ですので,厳密に言えばCEditDoc.cppの1747行目付近のファイル名・ディレクトリ名置換,および1778行目の拡張子置換の各ループ毎に長さチェックが必要だと思います.

対処したパッチを作成しました。

ではでは。

2008/11/25 (火) 23:48:02 げんた  
INCM1.23c
[5478] Re6:ANSI版の更新履歴について
>> 長さチェックが必要だと思います.
>対処したパッチを作成しました。

確認しましたが,拡張子置換でのエラーチェックで break が抜けているようです.
それ以外はOKかと思います.

2008/11/26 (水) 00:35:37 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; KDDI-MA33) Opera 8.60 [ja]
[5480] Re7:ANSI版の更新履歴について
▼ げんたさん
> >> 長さチェックが必要だと思います.
> >対処したパッチを作成しました。

> 確認しましたが,拡張子置換でのエラーチェックで break が抜けているようです.
> それ以外はOKかと思います.

 
何度もすみません m(_ _)m
明日修正します。

2008/11/26 (水) 23:24:53 なすこじ  
Mozilla/4.8 (Macintosh; U; PPC)
[5482] Re7:ANSI版の更新履歴について
▼ げんたさん
> >> 長さチェックが必要だと思います.
> >対処したパッチを作成しました。

> 確認しましたが,拡張子置換でのエラーチェックで break が抜けているようです.
> それ以外はOKかと思います.


breakを追加しrev1474でコミットしました。

2009/10/10 (土) 04:55:01 あろか  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
[5624] Re8:ANSI版の更新履歴について
▼ なすこじさん
> breakを追加しrev1474でコミットしました。

バックアップの詳細設定を使用して、上位のフォルダを多く残すようにした場合、ファイルが浅い階層にあるときに sakura.exe が異常終了するようになっていました。

確認手順: $2\$1\$0 のように指定して C:\temp.txt を編集・保存する。
パッチ: #2875910 を作成しました。

2008/11/24 (月) 03:10:56 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; KDDI-MA33) Opera 8.60 [ja]
[5473] Re3:ANSI版の更新履歴について
> 2124374の方はcommitしても良いと思います.
 
書き忘れてしまった (^^;
rev1472でコミットしました。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81
[ut:0.020][st:0.000]