SSブログ

Mozilla Thunderbird のメールフォルダファイルに含まれる X-Mozilla-Status: フィールドの値について [Firefox,Thunderbird]

Mozilla Thunderbird ver 1.5系のメールフォルダファイルに含まれる X-Mozilla-Status: フィールドの値について覚え書き。

ここのフラグが使用されているはず。

http://lxr.mozilla.org/mozilla1.8.0/source/mailnews/base/public/nsMsgMessageFlags.h

重要度などの特別な状態が設定されていないメールを読む(既読にする)と MSG_FLAG_READ フラグ(0x0001)が設定されるので

X-Mozilla-Status: 0001
になり、既読メールを削除すると メールフォルダファイル からメールデータそのものが取り除かれるのではなく、単に X-Mozilla-Status: フィールドが
X-Mozilla-Status: 0009
となる。

これは削除済みを表す MSG_FLAG_EXPUNGEDフラグが(0x0008)設定されるため。(要するに 0x0001 と 0x0008 の論理和の結果) フォルダの最適化を行なった時にようやくメールフォルダファイル からメール データそのものが取り除かれる事になる。

よって、X-Mozilla-Status: フィールドの値が 0009 のものは削除フラグが設定されているメールだけども、他にもあるかもしれないという訳で。 実際、既読メールに返信すると MSG_FLAG_READ(0x0001)と MSG_FLAG_REPLIED(0x0002)の両方が設定されるので

X-Mozilla-Status: 0003
になり、それを削除すると X-Mozilla-Status: 000b となる。 000b は 0x0003 と 0x0008 の論理和の結果なり。

mbox のような単純なテキストファイルの場合にデータの途中を変更してデータの長さが変わると全体あるいはその箇所以降を保存しなおさなければならないけども、このようにデータ長が変わらないような変更だとそれほど大きな負荷は発生しない。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。