$NetBSD: patch-aa,v 1.8 2005/10/07 16:52:06 joerg Exp $

--- environ.c.orig	2004-06-18 16:19:36.000000000 +0000
+++ environ.c
@@ -58,10 +58,10 @@
   #include <sys/ioctl.h>
   #include <sys/statfs.h>
   #include <sys/statvfs.h>
- #elif defined(__FreeBSD__)||defined(__NetBSD__)
+ #elif defined(__FreeBSD__)||defined(__NetBSD__)||defined(__APPLE__) || defined(__DragonFly__)
   #include <sys/param.h>
   #include <sys/mount.h>
- #elif defined(__QNXNTO__)
+ #elif defined(__QNXNTO__)||defined(__INTERIX)
   #include <sys/statvfs.h>
  #else
   #include <sys/statfs.h>
@@ -2286,7 +2286,7 @@ unsigned long file_getfree(char *name)
   else
    return((LONG_MAX/(spclu*bps)<fclu)?LONG_MAX:spclu*bps*fclu);
  #elif TARGET==UNIX
-  #if defined(__QNXNTO__)||defined(__sco__)||defined(SUNOS)
+  #if defined(__QNXNTO__)||defined(__sco__)||defined(SUNOS)||defined(__INTERIX)||(defined(__NetBSD__) && (__NetBSD_Version__ >= 299000900))
    struct statvfs vfs;
 
    if(statvfs(name, &vfs)==-1)
@@ -3005,7 +3005,7 @@ void get_exe_name(char *dest, char *arg)
     they are missing altogether, the corresponding code will gracefully
     terminate. */
  #if SFX_LEVEL==ARJ
-  strcpy(dest, "/usr/local/bin/arj");
+  strcpy(dest, "@PREFIX@/bin/arj");
  #elif SFX_LEVEL==ARJSFXV
   strcpy(dest, "./arjsfxv");
  #elif SFX_LEVEL==ARJSFX
@@ -3013,7 +3013,7 @@ void get_exe_name(char *dest, char *arg)
  #elif SFX_LEVEL==ARJSFXJR
   strcpy(dest, "./arjsfxjr");
  #elif defined(REARJ)
-  strcpy(dest, "/usr/local/bin/rearj");
+  strcpy(dest, "@PREFIX@/bin/rearj");
  #else
   dest[0]='\0';
  #endif
@@ -3802,7 +3802,9 @@ int reset_drive(char *name)
  #elif TARGET==WIN32
   return(0);
  #elif TARGET==UNIX
+  #ifndef __INTERIX
   sync();
+  #endif
   return(0);
  #endif
 }
