@@ -43,7 +43,13 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4343#undef S_ISREG
4444#endif
4545
46+ #ifdef USE_GUSI
47+ #include <sys/types.h>
48+ #include <stat.h>
49+ #define macstat stat
50+ #else
4651#include "macstat.h"
52+ #endif
4753
4854#ifdef __MWERKS__
4955/* For CodeWarrior 4 also define CW4 */
@@ -57,7 +63,11 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
5763#endif
5864
5965#include "macdefs.h"
66+ #ifdef USE_GUSI
67+ #include <dirent.h>
68+ #else
6069#include "dirent.h"
70+ #endif
6171
6272#ifndef MAXPATHLEN
6373#define MAXPATHLEN 1024
@@ -68,13 +78,19 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6878int chdir PROTO ((const char * path ));
6979char * getbootvol PROTO ((void ));
7080char * getwd PROTO ((char * ) );
81+ #ifdef USE_GUSI
82+ int mkdir PROTO ((const char * path ));
83+ DIR * opendir PROTO ((const char * ) );
84+ int closedir PROTO ((DIR * ) );
85+ #else
7186int mkdir PROTO ((const char * path , int mode ));
7287DIR * opendir PROTO ((char * ) );
7388void closedir PROTO ((DIR * ) );
89+ #endif
7490struct dirent * readdir PROTO ((DIR * ) );
7591int rmdir PROTO ((const char * path ));
7692int sync PROTO ((void ));
77- #if defined(THINK_C ) || defined (__SC__ )
93+ #if defined(THINK_C ) || defined(__SC__ ) || defined( USE_GUSI )
7894int unlink PROTO ((char * ) );
7995#else
8096int unlink PROTO ((const char * ) );
@@ -315,12 +331,26 @@ mac_lseek(self, args)
315331}
316332#endif /* !CW4 */
317333
334+ #ifdef USE_GUSI
335+ /* GUSI mkdir doesn't accept the (dummy) mode. Grrr. */
336+ int _gusi_mkdir (name , mode )
337+ char * name ;
338+ int mode ;
339+ {
340+ return mkdir (name );
341+ }
342+ #endif /* USE_GUSI */
343+
318344static object *
319345mac_mkdir (self , args )
320346 object * self ;
321347 object * args ;
322348{
349+ #ifdef USE_GUSI
350+ return mac_strint (args , _gusi_mkdir );
351+ #else
323352 return mac_strint (args , mkdir );
353+ #endif
324354}
325355
326356#ifndef CW4
@@ -425,6 +455,19 @@ mac_xstat(self, args)
425455 END_SAVE
426456 if (res != 0 )
427457 return mac_error ();
458+ #ifdef USE_GUSI
459+ return mkvalue ("(llllllllll)" ,
460+ (long )st .st_mode ,
461+ (long )st .st_ino ,
462+ (long )st .st_dev ,
463+ (long )st .st_nlink ,
464+ (long )st .st_uid ,
465+ (long )st .st_gid ,
466+ (long )st .st_size ,
467+ (long )st .st_atime ,
468+ (long )st .st_mtime ,
469+ (long )st .st_ctime );
470+ #else
428471 return mkvalue ("(llllllllllls#s#)" ,
429472 (long )st .st_mode ,
430473 (long )st .st_ino ,
@@ -439,6 +482,7 @@ mac_xstat(self, args)
439482 (long )st .st_rsize ,
440483 st .st_creator , 4 ,
441484 st .st_type , 4 );
485+ #endif
442486}
443487
444488static object *
0 commit comments