Repo

kjana00@gmail.com

older <-

2013-04-09 00:12:41

今朝は晴れ。朝ごはんはパンとサラダとソーセージ。ようやく晴れたけど気温は低めか。まあ晴れてたらあったかくもなるでしょう、と楽観的に出勤なわけだけど。今年はポピーが少ないのね。去年は気持ち悪いぐらい咲いてたのに。

この辺りのパッケージ、直すとしたらこんな感じなはずだよねというのを確認してるところにお話。USB フラッシュなんかで手軽にバイナリ差し替えられるシステムにしようという都合上、その USB フラッシュはまあ 8.3 ファイルネームな FAT ぐらいであって欲しいよねというお話が出て来たんで、今、ファイル更新周りでファイル名のチェックをしてる辺りをとりあえず 8.3 の拡張子だけチェックするように緩和してくれないかっていう。ちゃんとした対応は後でするとして。

ということでコードを眺める作業へ。制御仕様っていって文書はあるけどそっちはそんな細かいことまで書いてないから、実際にどこでどうチェックしてるのかは探さざるを得ない。でもそんなに細々大量に散るような話でもないからちょっと探したらわかるんじゃないの、と。それで他の仕事にもう入ってる人に頼るのも何だからねぇ……で、バイナリのアーカイブのファイル名をチェックしてるところはすぐに見つかった。ファイル名のチェックしてるっていうよりは、特定のディレクトリ以下でパターンにマッチするファイルを見つけるっていうコード。真面目にディレクトリエントリを拾ってきて、sscanf() で簡単にマッチを見てた。

なんで、失敗したら次のパターンってやってるところの最後に拡張子のみのマッチを突っ込んでとりあえずは最小限の実装。sscanf() で取り出せたエントリ数を見てたんでそっちは殺しておいて。最小値を 1 にして生かしてもいいって言えばいいけど、それは何だか意味無いしね……8.3 な FAT って要するに MS-DOS 的ファイルシステムなんて case insensitive じゃないの? とマッチした拡張子部分だけ tolower() 通すコードを付け足したりもして、まあこれでいいか。

アーカイブの中身についてはどうなんでしょうと聞いたらそっちも、という話があったんでちょっと見てみたけどこっちはそんなに簡単じゃない。っていうか、簡単なんだけどひたすら面倒臭い。hard wired なファイル名使ってるからその周辺全部直さなきゃならない。固定のファイル名を適当に対応させたらすぐって言えばすぐなんだけど、このアーカイブ作るツールの方だとか、プログラム内で呼び出してるスクリプトだとかに分散してるからだいぶ手間がかかる。

USB フラッシュにはアーカイブしか入れなくて、展開するのは別のファイルシステムだから 8.3 にこだわる必然性が何一つ無いし、お客さんに自分でアーカイブ展開してもらうっていうのも考え難いっていうか暗号化して鍵は渡さず opaque なバイナリとして使ってもらうはずのものだったりするからそもそも対応する理由が無さそうな……と見てて思ってるところにどうもやっぱりアーカイブの中身なんて気にする必要は無さそうな感じのメールが飛んできたんで今日はもういいやという気分になる。帰りましょう。

そういうことで帰って、晩ごはんは冷奴と豚汁うどん。危うくうどんを茹で過ぎるところだった。出先の社員食堂が現金清算しか出来ないんで、小銭を作っておこうとワインを買い足しておいたら足りないのは酒の方でした、なんてあったけどみりんだけで何とかなったわね。

で、後は WWW 見たりまんが読んだりゲームしたり。死んじゃうと残念ですから、と 36 階を安全に回るばかり。二度程回り切らずに撤収したりしてるから、まあ、いい線なんじゃないかね。レベル 35 になったらカメレオンの洞窟にも挑もうか……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12