改版履歴

改版履歴

Cente Compact FileSystem


改版日 2016.01.27
バージョン Ver2.10

 ・サイズ0のファイルに対してfseek()によりセクタサイズ以下のファイル拡張が出来ない不具合を修正Cente障害情報:002-0014
FS_OVER_SZ_SEEKマクロに「1」または「2」を設定した環境下において、サイズ0のファイルに対してfseek()によりサイズを拡張する。その際、指定メディアのPartition Boot Sector(PBS)情報を壊してしまう不具合を修正しました。
・ファイルデータ用バッファサイズ境界(末尾)の位置へシーク後、正しくデータ読み書きを行うことが出来ない不具合を修正Cente障害情報:002-0015
fseek()に対してファイルデータ用バッファのサイズで割り切れる位置への移動を指定する。その後、ファイル操作を行うと本来アクセスするべきセクタより前のセクタにアクセスしてしまう不具合を修正しました。
・ディレクトリ削除時にエラーが発生した際、エラーの詳細コードを取得できない不具合を修正Cente障害情報:002-0016
ディレクトリ削除時にエラー「指定ディレクトリが存在しない」「デバイスドライバでリードエラー」「指定ディレクトリが空ではない」が発生した場合に、正しいエラーの詳細コードが取得できない不具合を修正しました。
FS_SJIS_API0」設定時にコンパイルエラーが発生する不具合を修正Cente障害情報:002-0017
fs_cfg.hファイル内のFS_SJIS_APIマクロが「0:無効」の状態で、FS_RMDIRマクロまたはFS_READDIRマクロを「1:有効」にした場合に、コンパイルエラーが検出されてしまう不具合を修正しました。
・ファイルを書き込みモードで多重オープンできてしまう不具合を修正Cente障害情報:101-0073
fopen()は書き込みモード(a, a+, w, w+, r+)の多重オープンを認めていませんが、オープン中ファイルより上の階層に存在するディレクトリの名前を変更すると、多重オープンができてしまう不具合を修正しました。
fseek()の移動先に4GBを越える位置を指定してもエラーを検出できない不具合を修正Cente障害情報:101-0077
FAT32の場合、fseek()に対して4GBを超える位置(後方)への移動を指定した場合は、エラーとして検出する必要がありますが、エラーを検出できずに正常終了してしまう不具合を修正しました。
・ショートエントリ検索で誤算出する場合がある不具合を修正Cente障害情報:101-0089
UNICODE API に対して以下の条件に該当する名前を指定した場合、ファイル・ディレクトリを誤検出してしまう不具合を修正しました。
1.ドットが複数ある場合。
2.12文字以内のUNICODE文字列中にASCII変換できないコード(全角文字)が含まれていた場合。
3.ショートエントリ中のスペースを含む名前と一致したUNICODE名を指定した場合。
MISRA-C 対応
C言語のためのソフトウェア設計標準規格であるMISRA-C:2004に対応しました。
・ツールの変更
RAM ディスクドライバ作成ツールを、Ver2.00以降の仕様に対応しました。これに伴い、「MKRAM.exe」から「CFS_MKRAM.exe」に名前を変更しました。
・標準ライブラリ関数追加、削除
memcmpを直接コールしていた箇所を独自のfs_memcmpに置き換えました。またMISRA-C対応に伴い、fs_memmoveをコールしている箇所をfs_memcpyに置き換え、fs_memmove