Cente FileSystem

Cente FileSystem

fseek関数改善

4GByteシーク可能に改善。

キャッシュ関連改善

FAT Cacheの設定最大値を 255個から65535個に拡大。

電源断対応機能修正

・fs_pwc.c chkDirPart()において変数pTmpFentPosの型修正。

・fs_pwc.c fatRecon() 変数名の誤りを修正。

・fs_pwc.c fatCpyPart() 論理演算子の不適切を修正。

・fs_pwc.c ini_pwc() FAT12において正常に初期化できない点を修正。

・fs_ansi.c fs_vfopen() 論理演算子の不適切を修正。

・fs_posix.c DT_mkdir() 引数名の誤りを修正。

fseek関数

クラスタチェーンの誤認識によるEOF誤検出を修正。

ロングファイル名不具合修正

ファイルもしくはフォルダのエントリが3セクタにまたがるような長い名前の場合、クラスタサイズが1及び2の時、エントリ領域確保が正しく取得できていない点を修正。

fopen関数修正

"a"モードにおいてドライバエラー発生時NULLPOINTアクセスしてしまう点を修正。

opendir関数修正

ドライブ読出し機能を無効にしていた誤りを修正。

Linux対応について

Linux対応コードを削除(LinuxのAPIとしての機能提供を終了しました)。

Cente FileSystem

move関数機能追加

move関数にディレクトリ移動機能を追加。

VFAT不具合修正

ロングファイル名のショートエントリにて「~」以降の番号付記不具合を修正。

マクロ名改名

「DELETE」マクロ名の重複を回避する為「FS_DELETE」に改名しました。

スタック消費量見直し

電源断対応機能が無効の場合でもスタック消費量が多大だった関数を修正。

該当API:rename,remove,mkdir,rmdir,chg_attr,chg_tstamp

Cente FileSystem

対応クラスタサイズを拡大

従来の32KByte以上に対応。

電源断対応機能強化

電源断後のFileSystem起動時間の短縮とFATテーブルのコピー時間の短縮を図りました。

ファイル移動、改名関数追加

move関数を追加。

fs_cfg.hを新設

マクロ定義をこのファイルに集約し、各種条件下でのコンパイルを容易に行えるようになりました。

ヘッダファイル名改名

fsys.h->fs_system.hに変更しました。

ソースファイル名改名

機能別に分離独立しました。(vfsys.c->fs_ansi.c,fs_posix.c…など)

Linuxに対応

Linux上でのアプリケーションとして動作できるようになりました。

ロングファイル名検索・削除修正

512bytes/sector以外のメディアで、ディレクトリエントリからロングファイル名を検索できない、及び削除できない不具合を修正。

fwrite関数修正

メディアの空き領域を超えるサイズでfwriteを実行すると、戻り値が実際に書き込んだサイズと異なる不具合を修正。

fp操作関数修正

ファイルポインタがNULLだった場合の不具合を修正。

fclose,fgetc,fgets,fputc,fputs,fread,fwrite,fseek

ソース整理

ソース整理

Cente FileSystem

遅延書き込み機能追加

タスクによる遅延書き込みをすることで積極的なファイル保護機能が充実しました。

ファイル操作関数追加

fflush関数を追加。

S-JIS->UNICODE変換範囲を修正

NO_UNICODEマクロを指定時、半角カタカナ(0xA1~0xDF)部分を範囲に含めていた不具合修正。

電源断対応機能修正

電源断対応機能が1ドライブしか制御できなかったが、複数ドライブ対応に修正。

電源断機能対象でないドライブに対して電源断処理をしてしまう不具合を修正。

q_format関数不具合修正

電源断機能対象でないドライブに対しても電源断初期化処理をしてしまう不具合を修正。

fclose関数不具合修正

デバイスドライバから異常終了だった場合セマフォの返却をしていなかった不具合修正。

ソース整理

ソース整理

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)を返すことがある点を修正。

Page 16 of 17