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

Comparing BasiliskII/src/AmigaOS/extfs_amiga.cpp (file contents):
Revision 1.10 by cebix, 2000-10-15T15:08:24Z vs.
Revision 1.14 by jlachmann, 2002-06-23T08:27:05Z

# Line 1 | Line 1
1   /*
2   *  extfs_amiga.cpp - MacOS file system for access native file system access, AmigaOS specific stuff
3   *
4 < *  Basilisk II (C) 1997-2000 Christian Bauer
4 > *  Basilisk II (C) 1997-2001 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 19 | Line 19
19   */
20  
21   #include <exec/types.h>
22 + #define __USE_SYSBASE
23   #include <proto/dos.h>
24 + #include <inline/dos.h>
25  
26   #include <sys/types.h>
27   #include <sys/stat.h>
# Line 211 | Line 213 | static const ext2type e2t_translation[]
213          {NULL, 0, 0}    // End marker
214   };
215  
216 < void get_finfo(const char *path, uint32 finfo, uint32 fxinfo)
216 > void get_finfo(const char *path, uint32 finfo, uint32 fxinfo, bool is_dir)
217   {
218          // Set default finder info
219          Mac_memset(finfo, 0, SIZEOF_FInfo);
# Line 232 | Line 234 | void get_finfo(const char *path, uint32
234          }
235  
236          // No Finder info file, translate file name extension to MacOS type/creator
237 <        struct stat st;
236 <        if (stat(path, &st) == 0 && !S_ISDIR(st.st_mode)) {
237 >        if (!is_dir) {
238                  int path_len = strlen(path);
239                  for (int i=0; e2t_translation[i].ext; i++) {
240                          int ext_len = strlen(e2t_translation[i].ext);
# Line 248 | Line 249 | void get_finfo(const char *path, uint32
249          }
250   }
251  
252 < void set_finfo(const char *path, uint32 finfo, uint32 fxinfo)
252 > void set_finfo(const char *path, uint32 finfo, uint32 fxinfo, bool is_dir)
253   {
254          // Open Finder info file
255          int fd = open_finf(path, O_RDWR);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines