ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/extfs_unix.cpp
(Generate patch)

Comparing BasiliskII/src/Unix/extfs_unix.cpp (file contents):
Revision 1.13 by cebix, 2000-07-21T18:01:07Z vs.
Revision 1.22 by asvitkine, 2007-01-24T02:37:06Z

# Line 1 | Line 1
1   /*
2   *  extfs_unix.cpp - MacOS file system for access native file system access, Unix specific stuff
3   *
4 < *  Basilisk II (C) 1997-2000 Christian Bauer
4 > *  Basilisk II (C) 1997-2005 Christian Bauer
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 158 | Line 158 | struct ext2type {
158   };
159  
160   static const ext2type e2t_translation[] = {
161 <        {".Z", 'ZIVM', 'LZIV'},
162 <        {".gz", 'Gzip', 'Gzip'},
163 <        {".hqx", 'TEXT', 'SITx'},
164 <        {".pdf", 'PDF ', 'CARO'},
165 <        {".ps", 'TEXT', 'ttxt'},
166 <        {".sit", 'SIT!', 'SITx'},
167 <        {".tar", 'TARF', 'TAR '},
168 <        {".uu", 'TEXT', 'SITx'},
169 <        {".uue", 'TEXT', 'SITx'},
170 <        {".zip", 'ZIP ', 'ZIP '},
171 <        {".8svx", '8SVX', 'SNDM'},
172 <        {".aifc", 'AIFC', 'TVOD'},
173 <        {".aiff", 'AIFF', 'TVOD'},
174 <        {".au", 'ULAW', 'TVOD'},
175 <        {".mid", 'MIDI', 'TVOD'},
176 <        {".midi", 'MIDI', 'TVOD'},
177 <        {".mp2", 'MPG ', 'TVOD'},
178 <        {".mp3", 'MPG ', 'TVOD'},
179 <        {".wav", 'WAVE', 'TVOD'},
180 <        {".bmp", 'BMPf', 'ogle'},
181 <        {".gif", 'GIFf', 'ogle'},
182 <        {".lbm", 'ILBM', 'GKON'},
183 <        {".ilbm", 'ILBM', 'GKON'},
184 <        {".jpg", 'JPEG', 'ogle'},
185 <        {".jpeg", 'JPEG', 'ogle'},
186 <        {".pict", 'PICT', 'ogle'},
187 <        {".png", 'PNGf', 'ogle'},
188 <        {".sgi", '.SGI', 'ogle'},
189 <        {".tga", 'TPIC', 'ogle'},
190 <        {".tif", 'TIFF', 'ogle'},
191 <        {".tiff", 'TIFF', 'ogle'},
192 <        {".htm", 'TEXT', 'MOSS'},
193 <        {".html", 'TEXT', 'MOSS'},
194 <        {".txt", 'TEXT', 'ttxt'},
195 <        {".rtf", 'TEXT', 'MSWD'},
196 <        {".c", 'TEXT', 'R*ch'},
197 <        {".C", 'TEXT', 'R*ch'},
198 <        {".cc", 'TEXT', 'R*ch'},
199 <        {".cpp", 'TEXT', 'R*ch'},
200 <        {".cxx", 'TEXT', 'R*ch'},
201 <        {".h", 'TEXT', 'R*ch'},
202 <        {".hh", 'TEXT', 'R*ch'},
203 <        {".hpp", 'TEXT', 'R*ch'},
204 <        {".hxx", 'TEXT', 'R*ch'},
205 <        {".s", 'TEXT', 'R*ch'},
206 <        {".S", 'TEXT', 'R*ch'},
207 <        {".i", 'TEXT', 'R*ch'},
208 <        {".mpg", 'MPEG', 'TVOD'},
209 <        {".mpeg", 'MPEG', 'TVOD'},
210 <        {".mov", 'MooV', 'TVOD'},
211 <        {".fli", 'FLI ', 'TVOD'},
212 <        {".avi", 'VfW ', 'TVOD'},
213 <        {".qxd", 'XDOC', 'XPR3'},
214 <        {".hfv", 'DDim', 'ddsk'},
215 <        {".dsk", 'DDim', 'ddsk'},
216 <        {".img", 'rohd', 'ddsk'},
161 >        {".Z", FOURCC('Z','I','V','M'), FOURCC('L','Z','I','V')},
162 >        {".gz", FOURCC('G','z','i','p'), FOURCC('G','z','i','p')},
163 >        {".hqx", FOURCC('T','E','X','T'), FOURCC('S','I','T','x')},
164 >        {".bin", FOURCC('T','E','X','T'), FOURCC('S','I','T','x')},
165 >        {".pdf", FOURCC('P','D','F',' '), FOURCC('C','A','R','O')},
166 >        {".ps", FOURCC('T','E','X','T'), FOURCC('t','t','x','t')},
167 >        {".sit", FOURCC('S','I','T','!'), FOURCC('S','I','T','x')},
168 >        {".tar", FOURCC('T','A','R','F'), FOURCC('T','A','R',' ')},
169 >        {".uu", FOURCC('T','E','X','T'), FOURCC('S','I','T','x')},
170 >        {".uue", FOURCC('T','E','X','T'), FOURCC('S','I','T','x')},
171 >        {".zip", FOURCC('Z','I','P',' '), FOURCC('Z','I','P',' ')},
172 >        {".8svx", FOURCC('8','S','V','X'), FOURCC('S','N','D','M')},
173 >        {".aifc", FOURCC('A','I','F','C'), FOURCC('T','V','O','D')},
174 >        {".aiff", FOURCC('A','I','F','F'), FOURCC('T','V','O','D')},
175 >        {".au", FOURCC('U','L','A','W'), FOURCC('T','V','O','D')},
176 >        {".mid", FOURCC('M','I','D','I'), FOURCC('T','V','O','D')},
177 >        {".midi", FOURCC('M','I','D','I'), FOURCC('T','V','O','D')},
178 >        {".mp2", FOURCC('M','P','G',' '), FOURCC('T','V','O','D')},
179 >        {".mp3", FOURCC('M','P','G',' '), FOURCC('T','V','O','D')},
180 >        {".wav", FOURCC('W','A','V','E'), FOURCC('T','V','O','D')},
181 >        {".bmp", FOURCC('B','M','P','f'), FOURCC('o','g','l','e')},
182 >        {".gif", FOURCC('G','I','F','f'), FOURCC('o','g','l','e')},
183 >        {".lbm", FOURCC('I','L','B','M'), FOURCC('G','K','O','N')},
184 >        {".ilbm", FOURCC('I','L','B','M'), FOURCC('G','K','O','N')},
185 >        {".jpg", FOURCC('J','P','E','G'), FOURCC('o','g','l','e')},
186 >        {".jpeg", FOURCC('J','P','E','G'), FOURCC('o','g','l','e')},
187 >        {".pict", FOURCC('P','I','C','T'), FOURCC('o','g','l','e')},
188 >        {".png", FOURCC('P','N','G','f'), FOURCC('o','g','l','e')},
189 >        {".sgi", FOURCC('.','S','G','I'), FOURCC('o','g','l','e')},
190 >        {".tga", FOURCC('T','P','I','C'), FOURCC('o','g','l','e')},
191 >        {".tif", FOURCC('T','I','F','F'), FOURCC('o','g','l','e')},
192 >        {".tiff", FOURCC('T','I','F','F'), FOURCC('o','g','l','e')},
193 >        {".htm", FOURCC('T','E','X','T'), FOURCC('M','O','S','S')},
194 >        {".html", FOURCC('T','E','X','T'), FOURCC('M','O','S','S')},
195 >        {".txt", FOURCC('T','E','X','T'), FOURCC('t','t','x','t')},
196 >        {".rtf", FOURCC('T','E','X','T'), FOURCC('M','S','W','D')},
197 >        {".c", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
198 >        {".C", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
199 >        {".cc", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
200 >        {".cpp", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
201 >        {".cxx", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
202 >        {".h", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
203 >        {".hh", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
204 >        {".hpp", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
205 >        {".hxx", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
206 >        {".s", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
207 >        {".S", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
208 >        {".i", FOURCC('T','E','X','T'), FOURCC('R','*','c','h')},
209 >        {".mpg", FOURCC('M','P','E','G'), FOURCC('T','V','O','D')},
210 >        {".mpeg", FOURCC('M','P','E','G'), FOURCC('T','V','O','D')},
211 >        {".mov", FOURCC('M','o','o','V'), FOURCC('T','V','O','D')},
212 >        {".fli", FOURCC('F','L','I',' '), FOURCC('T','V','O','D')},
213 >        {".avi", FOURCC('V','f','W',' '), FOURCC('T','V','O','D')},
214 >        {".qxd", FOURCC('X','D','O','C'), FOURCC('X','P','R','3')},
215 >        {".hfv", FOURCC('D','D','i','m'), FOURCC('d','d','s','k')},
216 >        {".dsk", FOURCC('D','D','i','m'), FOURCC('d','d','s','k')},
217 >        {".img", FOURCC('r','o','h','d'), FOURCC('d','d','s','k')},
218          {NULL, 0, 0}    // End marker
219   };
220  
221 < void get_finfo(const char *path, uint32 finfo, uint32 fxinfo)
221 > void get_finfo(const char *path, uint32 finfo, uint32 fxinfo, bool is_dir)
222   {
223          // Set default finder info
224          Mac_memset(finfo, 0, SIZEOF_FInfo);
# Line 238 | Line 239 | void get_finfo(const char *path, uint32
239          }
240  
241          // No Finder info file, translate file name extension to MacOS type/creator
242 <        struct stat st;
242 <        if (stat(path, &st) == 0 && !S_ISDIR(st.st_mode)) {
242 >        if (!is_dir) {
243                  int path_len = strlen(path);
244                  for (int i=0; e2t_translation[i].ext; i++) {
245                          int ext_len = strlen(e2t_translation[i].ext);
# Line 254 | Line 254 | void get_finfo(const char *path, uint32
254          }
255   }
256  
257 < void set_finfo(const char *path, uint32 finfo, uint32 fxinfo)
257 > void set_finfo(const char *path, uint32 finfo, uint32 fxinfo, bool is_dir)
258   {
259          // Open Finder info file
260          int fd = open_finf(path, O_RDWR);
# Line 375 | Line 375 | bool extfs_rename(const char *old_path,
375          // Now rename file
376          return rename(old_path, new_path) == 0;
377   }
378 +
379 +
380 + // Convert from the host OS filename encoding to MacRoman
381 + const char *host_encoding_to_macroman(const char *filename)
382 + {
383 +        return filename;
384 + }
385 +
386 + // Convert from MacRoman to host OS filename encoding
387 + const char *macroman_to_host_encoding(const char *filename)
388 + {
389 +        return filename;
390 + }
391 +
392 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines