Cente FileSystem
ctkernel対応
ctkernelモジュールの導入に伴なう修正。
ctkernel対応
ctkernelモジュールの導入に伴なう修正。
move関数機能追加
move関数にディレクトリ移動機能を追加。
VFAT不具合修正
ロングファイル名のショートエントリにて「~」以降の番号付記不具合を修正。
マクロ名改名
「DELETE」マクロ名の重複を回避する為「FS_DELETE」に改名しました。
スタック消費量見直し
電源断対応機能が無効の場合でもスタック消費量が多大だった関数を修正。
該当API:rename,remove,mkdir,rmdir,chg_attr,chg_tstamp
対応クラスタサイズを拡大
従来の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
ソース整理
ソース整理
遅延書き込み機能追加
タスクによる遅延書き込みをすることで積極的なファイル保護機能が充実しました。
ファイル操作関数追加
fflush関数を追加。
S-JIS->UNICODE変換範囲を修正
NO_UNICODEマクロを指定時、半角カタカナ(0xA1~0xDF)部分を範囲に含めていた不具合修正。
電源断対応機能修正
電源断対応機能が1ドライブしか制御できなかったが、複数ドライブ対応に修正。
電源断機能対象でないドライブに対して電源断処理をしてしまう不具合を修正。
q_format関数不具合修正
電源断機能対象でないドライブに対しても電源断初期化処理をしてしまう不具合を修正。
fclose関数不具合修正
デバイスドライバから異常終了だった場合セマフォの返却をしていなかった不具合修正。
ソース整理
ソース整理
マルチセクタ機能追加
セクタサイズをユーザで指定できるように改版。
SJISマクロを関数化
日本語変換機構を完全分離。外国語対応を容易にしました。
SJIS⇔UNICODEテーブル削除機能
全角コードを使わない際、テーブルを簡単に削除できるようマクロを追加。
SJIS⇔UNICODE重複回避機能
異なるSJISが同一UNICODEを持つ為、逆変換で不具合がでる事に対応。
chg_tstamp,chg_tstampfp関数
閏年以外の年でも2月29日に変更できてしまう不具合修正。
ini_cache関数修正
セマフォを解放せずに関数を抜ける場合がある不具合修正。
fputc,fwrite関数修正
4Gbyte以上を書き込んでしまうことがある不具合修正。
ファイル名対応
名前の最後がスペースでもファイルが出来てしまう不具合修正。(Windowsでファイル削除できなくなる)
削除処理不具合修正
FAT32時、ルート下の先頭にあるショートファイル名を削除できない不具合修正。
文字識別不具合修正
Win2K,XPで作られた8+3の小文字で格納されたファイルを小文字処理できない不具合修正。
電源断(リカバリー機能)追加
不意な電源断が起きたときの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チェック処理で一度チェックした領域を再度チェックしないように修正。
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)を返すことがある点を修正。
fseek不具合修正
fseek関数でファイルサイズ以上のセクタをリードする場合がある点を修正。
未対応文字指定時処理修正
未対応文字を指定した時の動作を修正。
作成日時、更新日時設定不具合修正
作成日時、更新日時の設定の不具合を修正。
文字識別不具合修正
「+」を含むファイル名のDOS形式不具合修正。
S-JIS-UNICODE変換テーブル変更
S-JIS-UNICODE変換テーブルをWindowsベースに変更。
fwrite関数不具合修正
ファイルポインタがクラスタ境界にありかつ内部バッファがデバイスに対し更新済みのときfwriteによってFATのチェーンに不具合が生じるのを修正。
削除処理不具合修正
FAT32時、ルート下の先頭にあるショートファイル名を削除した時、無関係のセクタに書き込んでしまう不具合修正。
DOS名作成不具合修正
DOS名作成不具合を修正。
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変換テーブルが間違っていたのを修正。
ファイル作成日時設定
ファイル、ディレクトリの作成時刻、作成日付を設定するようにした。
ソース整理
ソース整理。
Page 16 of 17