なんだこれは

はてなダイアリーから移転しました。

gauche で gzip archive

Gauchegzip archive

Intel Macgauchegzip 圧縮されたファイルを解凍

TL; DR

こう書いて

(use rfc.zlib)

(define (gz->raw gz-file raw-file)
  (call-with-input-file gz-file
    (lambda (in-port)
      (call-with-output-file raw-file
      (lambda (out-port)
          (copy-port 
              (open-inflating-port in-port :window-bits 47)
              out-port))))))
          
          

こう

(gz->raw "NOTICE.xml.gz" "NOTICE.xml")

個人的なはまりポイント

gauche の zlib って gzip アーカイブもいけるんだすごいって始めたんだけど、なんだかできないなぁって、なせかエラーでるしどうしたんだろう。そうだ AI に聞いてみようとかいろいろしていた。

zipinfo NOTICE.xml.gz したらフォーマットがおかしい。zip じゃなくないみたいにいわれた。そらそうだ。

それで、一回放置して、しばらくしてから、もう一回見なおしたら、単純に (open-inflating-port in-port :window-bits 47):window-bitsタイプミスしていたっぽい。するっとうまくいってしまった。

どこではまったんだろう。クリアするともうわからない。