Cente FileSystem

Cente FileSystem

マルチセクタ機能追加

セクタサイズをユーザで指定できるように改版。

SJISマクロを関数化

日本語変換機構を完全分離。外国語対応を容易にしました。

SJIS⇔UNICODEテーブル削除機能

全角コードを使わない際、テーブルを簡単に削除できるようマクロを追加。

SJIS⇔UNICODE重複回避機能

異なるSJISが同一UNICODEを持つ為、逆変換で不具合がでる事に対応。

chg_tstamp,chg_tstampfp関数

閏年以外の年でも2月29日に変更できてしまう不具合修正。

ini_cache関数修正

セマフォを解放せずに関数を抜ける場合がある不具合修正。

fputc,fwrite関数修正

4Gbyte以上を書き込んでしまうことがある不具合修正。

ファイル名対応

名前の最後がスペースでもファイルが出来てしまう不具合修正。(Windowsでファイル削除できなくなる)

削除処理不具合修正

FAT32時、ルート下の先頭にあるショートファイル名を削除できない不具合修正。

文字識別不具合修正

Win2K,XPで作られた8+3の小文字で格納されたファイルを小文字処理できない不具合修正。

Cente FileSystem

電源断(リカバリー機能)追加

不意な電源断が起きたときのFATとエントリの整合性を修復する機能を追加。

aとaのファイル名に対応

a.txtが存在する時にa.txtをfopenできないことに対応。

全角小文字ファイルに対応

全角小文字のショートファイル名の時にロングエントリが作成されない不具合に対応。

SJIS->UNICODE変換範囲を修正

SJIS->UNICODE変換処理で変換範囲が少ない不具合に対応。

エントリの削除処理修正

セクタをまたいでエントリがある場合の削除処理を修正。

FAT32の時q_format処理修正

FAT32でq_formatを行なうとゴミが書き込まれる不具合を修正。

q_format処理修正

q_formatを行なった後に読込んでいたセクタを読むと前のデータが読み出される不具合修正。

fseek処理修正

fseek処理でクラス単位でデータを読込む際に同じクラスタデータを複数回読んでいる処理修正。

new_cluster処理修正

FATチェック処理で一度チェックした領域を再度チェックしないように修正。

Cente FileSystem

fwrite関数修正(Ver3.08)ミス

Ver3.08不具合項目4を再修正。

ファイル名対応

.で始まるファイル名に対応。

mkdir関数不具合修正

ルート下作成可能数一杯の時、クラスタを確保してしまう点を修正。

q_format関数不具合修正

FAT32時、FATエリアの初期化が正しくおこなわれていない点を修正。

ini_disk関数

固定ディスク時、マウント内に残容量取得処理を追加。

chg_tstamp,chg_tstampfp関数

chg_tstamp,chg_tstampfp関数の引数チェックを追加。

fopen,mkdir関数修正

空白文字列のファイルが作成される点を修正。

reset_fsys関数不具合修正

ini_fsys後ini_disk前にreset_fsys関数をコールした時の資源の解放を本関数で実施するよう修正。

rename関数不具合修正

第2引数に空文字列""を指定してもエラーにならない点を修正。

ショートファイル名で指定した時、無効なエントリが残る点を修正。

fwrite,fputc関数不具合修正

0バイト指定の書き込みをおこなった時クラスタを確保してしまう点を修正。

opendir不具合修正

ルート下へのopendir関数でエラーを返すことがある点を修正。

fopen関数不具合修正

空ファイルをfopen"r"モードでオープンした時、無関係のセクタを読み込むことがある点を修正。

同一のショートファイル名が作成されることがある点を修正。

remove関数不具合修正

remove関数で対象ファイルがある時にエラーコード(R_NO_FILE)を返すことがある点を修正。

Cente FileSystem

作成日時、更新日時設定不具合修正

作成日時、更新日時の設定の不具合を修正。

文字識別不具合修正

「+」を含むファイル名のDOS形式不具合修正。

S-JIS-UNICODE変換テーブル変更

S-JIS-UNICODE変換テーブルをWindowsベースに変更。

fwrite関数不具合修正

ファイルポインタがクラスタ境界にありかつ内部バッファがデバイスに対し更新済みのときfwriteによってFATのチェーンに不具合が生じるのを修正。

削除処理不具合修正

FAT32時、ルート下の先頭にあるショートファイル名を削除した時、無関係のセクタに書き込んでしまう不具合修正。

DOS名作成不具合修正

DOS名作成不具合を修正。

Cente FileSystem

q_formatFAT32対応

q_format関数をFAT32に対応。

文字識別不具合修正

「=+;」を含むファイル名のDOS形式不具合修正。

ST_DISK型メンバ変更

ST_DISK型のsfをunsignedshort→unsignedlongに変更。

fopen不具合修正

fopenでエラー時、同一名による次のオープンでR_OPENEDを返すことがある不具合修正。

reset_fsys関数追加

reset_fsys関数を追加。

UNICODE変換ミス修正

「/」及び「∥」のS-JIS-UNICODE変換テーブルが間違っていたのを修正。

ファイル作成日時設定

ファイル、ディレクトリの作成時刻、作成日付を設定するようにした。

ソース整理

ソース整理。

Cente FileSystem

reflesh_cache関数名変更

reflesh_cache→refresh_cacheに名前を変更。

ini_disk関数引数変更

ini_disk関数の引数を変更。

fclose他API関数型変更

fclosefputsfseekfeofrenameremovemkdirrmdirclosedir関数の戻り値をsignedchar→intに変更。

排他制御コード追加

refresh_cache関数に排他制御処理を追加。

ソース整理

ソース整理。

Cente FileSystem

排他制御関連を別ファイル化

NORTiセマフォ関連の記述をfs_lock.cに移行。

同時オープンファイル数上限変更

同時オープン可能ファイル数の設定上限を127から32767個に変更。

get_tstampfpchg_tstampfp不具合修正

エンディアンの違いで、タイムスタンプの値が異なる不具合を修正。

FAT32不具合修正

クラスタ番号の扱いオーバーフローしていた不具合を修正。

ソース整理

ソース整理。

Cente FileSystem

rename関数不具合修正

セクタの先頭にショートファイル名がある時、renameによって前エントリを壊してしまう不具合修正。

fseek戻り値不具合修正

クラスタサイズのファイル終端へのfseekでEOFを返す不具合修正。

文字識別不具合修正

8+3の大文字で格納されたファイルを小文字で指定できない不具合修正。

「[」及び「]」を含むファイル名のDOS形式変換不具合修正。

remove関数不具合修正

remove関数でディレクトリを削除する不具合修正。

reapir関数エラーコード修正

reapir関数で最終を示すNULLを返す時エラーコードが-13になる時がある不具合修正。

get_dev_free関数処理速度改善

FAT32に対する空き容量取得の処理速度を改善。

get_dev_free関数不具合修正

FAT16でFAT数256以上のときオーバーフローする不具合修正。

fopen誤仕様修正

読取専用ファイルを"w""a"オープンできてしまうのを修正。

Cente FileSystem

処理速度改善

キャッシュ設定時の処理速度を改善。

get_dev_freeget_dev_total関数修正

get_dev_freeget_dev_total関数を4GB以上に対応。

q_format関数不具合修正

FAT128セクタ以上の時正常に処理されない不具合修正。

fseek関数不具合修正

fs_memory.c未設定時、セクタ境界へのfseek不具合修正。

fopen不具合修正

ルート下作成可能数超過時にfopenでNULLを返さない不具合修正。

fwrite戻り値修正

fwrite関数エラー時の戻り値を修正。

VFAT不具合修正

「~」を含むファイル名に対する操作が正しくない点を修正。

ファイルサイズ取得・変更関数追加

chg_filelenget_filelen関数を追加。

FAT32不具合修正

キャッシュ未設定時、FAT更新されていない不具合修正。(FAT32)

ドライブ読出機能追加

opendir("/")またはopendir("\")指定時ドライブ名を返すよう機能追加。

FILE型名前変更

ST_FILE型をFILE型に名前変更。

エラーコード修正

存在しないファイルをオープンした時のエラーコードが正しくないのを修正。

ソース整理

ソース整理。

Page 4 of 5