comparison system/file_impl.h @ 65:4416cfac86ae

Convert EUC-JP files to UTF8
author Thibaut Girka <thib@sitedethib.com>
date Fri, 26 Nov 2010 10:53:15 +0100
parents 15a18fbe6f21
children c3d4f9ee2cf1
comparison
equal deleted inserted replaced
64:045ca45f9610 65:4416cfac86ae
52 char* arcname; 52 char* arcname;
53 char* filenames_orig; 53 char* filenames_orig;
54 int list_point; 54 int list_point;
55 std::vector<ARCFILE_ATOM> arc_atom; 55 std::vector<ARCFILE_ATOM> arc_atom;
56 typedef std::vector<ARCFILE_ATOM>::iterator iterator; 56 typedef std::vector<ARCFILE_ATOM>::iterator iterator;
57 ARCFILE* next; /* FILESEARCH の一つの型が複数の ARCFILE を持つとき、リストをつくる */ 57 ARCFILE* next; /* FILESEARCH 筝ゃ茲違 ARCFILE ゃ鴻ゃ */
58 /* arcname に指定されたファイル/ディレクトリの内容チェック */ 58 /* arcname 絎<ゃ鐚c絎鴻с */
59 virtual int CheckFileDeal(void); 59 virtual int CheckFileDeal(void);
60 virtual void ListupFiles(int fname_len); 60 virtual void ListupFiles(int fname_len);
61 virtual ARCINFO* MakeARCINFO(ARCFILE_ATOM&); 61 virtual ARCINFO* MakeARCINFO(ARCFILE_ATOM&);
62 iterator SearchName(const char* f, const char* ext=0); 62 iterator SearchName(const char* f, const char* ext=0);
63 public: 63 public:
64 ARCFILE(const char* fname); 64 ARCFILE(const char* fname);
65 void SetNext(ARCFILE* _next) { delete next; next = _next;} 65 void SetNext(ARCFILE* _next) { delete next; next = _next;}
66 ARCFILE* Next(void) { return next; } 66 ARCFILE* Next(void) { return next; }
67 void Init(void); 67 void Init(void);
68 virtual ~ARCFILE(); 68 virtual ~ARCFILE();
69 /* ファイル検索 */ 69 /* <ゃ罎膣 */
70 class ARCINFO* Find(const char* fname, const char* ext); 70 class ARCINFO* Find(const char* fname, const char* ext);
71 /* ファイルリストの出力 */ 71 /* <ゃ鴻阪 */
72 int Deal(void) { Init(); return arc_atom.size(); } 72 int Deal(void) { Init(); return arc_atom.size(); }
73 void ListFiles(FILE* out); 73 void ListFiles(FILE* out);
74 void InitList(void); 74 void InitList(void);
75 char* ListItem(void); 75 char* ListItem(void);
76 }; 76 };
86 }; 86 };
87 87
88 class CattleyaFILE : public ARCFILE { 88 class CattleyaFILE : public ARCFILE {
89 private: 89 private:
90 bool is_compress; 90 bool is_compress;
91 /* header の Huffman 木構築用 */ 91 /* header Huffman 罕膀 */
92 char* bitbuf; 92 char* bitbuf;
93 char* bitbuf_end; 93 char* bitbuf_end;
94 int ltree[0x400]; 94 int ltree[0x400];
95 int rtree[0x400]; 95 int rtree[0x400];
96 int treecnt; 96 int treecnt;
127 virtual void ListupFiles(int fname_len); 127 virtual void ListupFiles(int fname_len);
128 virtual ARCINFO* MakeARCINFO(ARCFILE_ATOM& atom); 128 virtual ARCINFO* MakeARCINFO(ARCFILE_ATOM& atom);
129 public: 129 public:
130 DIRFILE(char* fname) : ARCFILE(fname) {} 130 DIRFILE(char* fname) : ARCFILE(fname) {}
131 virtual ~DIRFILE() {} 131 virtual ~DIRFILE() {}
132 FILE* Open(const char* fname); /* FILE* を開く */ 132 FILE* Open(const char* fname); /* FILE* */
133 char* SearchFile(const char* dirname); /* ファイル検索 */ 133 char* SearchFile(const char* dirname); /* <ゃ罎膣 */
134 }; 134 };
135 135
136 class ARCINFO_AVG32 : public ARCINFO { 136 class ARCINFO_AVG32 : public ARCINFO {
137 protected: 137 protected:
138 ARCINFO_AVG32(const char* name, ARCFILE_ATOM& atom) : ARCINFO(name, atom) { 138 ARCINFO_AVG32(const char* name, ARCFILE_ATOM& atom) : ARCINFO(name, atom) {