Cente FileSystem

Cente FileSystem

・chg_attr、chg_tstamp関数修正

SAVE_CACHEマクロが有効な時に、ディレクトリキャッシュを保存する処理を追加しました。

・ct_chg_attrfp、ct_chg_tstampfp関数修正

"r"モードで開いたファイルのファイル属性、タイムスタンプが変更されてしまう不具合を修正しました。

・fs_ini_fatlock、fs_ini_direntrylock関数修正

初期化時に構造体の0クリア処理を追加しました。

・new_cluster関数修正

16BitCPUでFAT32フォーマットされたメディアを使用した場合に、new_clusterの戻り値をint型で返してしまい上位ビットが反転してしまう不具合を修正しました。

・get_dev_free、save_cache、refresh_cache関数修正

複数タスクから左記APIを同時に実行すると、タイミングによってFAT情報が後からAPIを実行したタスクに上書きされてしまう不具合を修正しました。

・opendir_cl、fopen_cl、fopen_uni、opendir_uni、readdir_uni、opendir_hash関数修正

複数タスクから左記APIを同時に実行すると、タイミングによってディレクトリ情報が後からAPIを実行したタスクに上書きされてしまう不具合を修正しました。

・get_sect_no関数修正

get_sect_noでエラーが発生した時に、ワークバッファの返却を実行しない不具合を修正しました。

・fopen、fopen_cl、fopen_hash、fopen_uni関数修正

16BitCPUを使用してFS_SEEK_BFマクロを有効にした場合に、クラスタ個数を格納する変数がint型ですとオーバーフローする可能性があるので、unsigned long型に変更しました。

・ct_ini_disk_sect関数修正

16BitCPUを使用する場合に、ct_ini_disk_sectで使用する変数sectSizeがint型だとオーバーフローする可能性があるので、unsigned long型に変更しました。

・fs_num_chk関数修正

16BitCPUを使用する場合に、変数sectSizeがint型だとオーバーフローする可能性があるので、unsigned long型に変更しました。

・ct_ini_disk_sect、ct_mount_disk変更

アロケーションユニットサイズが最大65536バイトのメディアまでマウントする様に変更しました。

Cente FileSystem

・fs_time.c修正

"rtc.h"と"string.h"をインクルードしている記述を削除しました。

・opendir_hash関数修正

ct_hash_entry関数に渡す第二引数をct_hash_entry関数に合わせてキャストする様に修正しました。

・readdir_uni関数修正

取得したUNICODE文字列の終端コードの付け方にミスがありました。終端コードを1byte(0x00)から2byte(0x0000)に修正しました。

・fs_lock.c修正

戻り値を常に0を返している箇所を修正しました。

・fs_original.c・fs_system.h修正

16BitCPUでクラスタサイズが64KByte以上のデバイスを使用した時に、コンパイラによってshort型の変数の演算を行い、演算結果を long型に代入する時に、演算結果が17Bit以上になった場合16Bitのみ代入し桁落ちしてしまう不具合を修正しました。

Page 14 of 17