プロジェクト

全般

プロフィール

バグ #659 » 0001-Windows.patch

Satoshi Okuno, 2014-05-04 23:34

差分を表示:

core/service_keeper.rb
22 22
    def accounts
23 23
      @account_data ||= @@service_lock.synchronize do
24 24
        if FileTest.exist? ACCOUNT_FILE
25
          File.open(ACCOUNT_FILE) do |file|
25
          File.open(ACCOUNT_FILE, 'rb') do |file|
26 26
            YAML.load(decrypt(file.read)) end
27 27
        else
28 28
          # 旧データの引き継ぎ
......
106 106
    # アカウント情報をファイルに保存する
107 107
    def account_write(account_data = @account_data)
108 108
      FileUtils.mkdir_p File.dirname(ACCOUNT_FILE)
109
      File.open(ACCOUNT_TMP, 'w'.freeze) do |file|
109
      File.open(ACCOUNT_TMP, 'wb'.freeze) do |file|
110 110
        file << encrypt(YAML.dump(account_data)) end
111 111
      FileUtils.mv(ACCOUNT_TMP, ACCOUNT_FILE)
112 112
      account_data end
core/utils.rb
64 64

  
65 65
# ファイルの内容を文字列に読み込む
66 66
def file_get_contents(fn)
67
  open(fn, 'r:utf-8'){ |input|
67
  open(fn, 'rb:utf-8'){ |input|
68 68
    input.read
69 69
  }
70 70
end
71 71

  
72 72
# 文字列をファイルに書き込む
73 73
def file_put_contents(fn, body)
74
  File.open(fn, 'w'){ |put|
74
  File.open(fn, 'wb'){ |put|
75 75
    put.write body
76 76
    body
77 77
  }
......
80 80
# ファイル _fn_ の内容からオブジェクトを読み込む。
81 81
# _fn_ は、object_put_contents() で保存されたファイルでなければならない。
82 82
def object_get_contents(fn)
83
  File.open(fn, 'r'){ |input|
83
  File.open(fn, 'rb'){ |input|
84 84
    Marshal.load input
85 85
  }
86 86
end
    (1-1/1)