FileSystemUtils freeSpaceUnix does not work for HP-UX 11
--------------------------------------------------------

                 Key: IO-109
                 URL: https://issues.apache.org/jira/browse/IO-109
             Project: Commons IO
          Issue Type: Bug
          Components: Utilities
    Affects Versions: 1.2
         Environment: uname -a
HP-UX mbfwdv B.11.11 U 9000/800 3509210950 unlimited-user license

            Reporter: Christopher Olsen


The freeSpaceUnix method does not work under HP-UX.  The df command under HP-UX 
is the old System V varient and the fields are not in the correct order.   This 
diff modifies the code to use the 'bdf' command when HP-UX is detected:

--- FileSystemUtils.java        2006-03-19 12:42:48.000000000 -0800
+++ FileSystemUtils-HP-UX-Fix.java      2007-01-11 13:05:34.844269000 -0800
@@ -51,13 +51,15 @@
     private static final int WINDOWS = 1;
     /** Operating system state flag for Unix. */
     private static final int UNIX = 2;
+    /** Unix variant name */
+       private static String osName = null;

     /** The operating system flag. */
     private static final int OS;
     static {
         int os = OTHER;
         try {
-            String osName = System.getProperty("os.name");
+            osName = System.getProperty("os.name");
             if (osName == null) {
                 throw new IOException("os.name not found");
             }
@@ -287,9 +289,18 @@
         }
         path = FilenameUtils.normalize(path);

+               // HP-UX sucks we need to use bdf instead
+               String dfCmd = "df";
+               String dfOpts = "-k";
+               if (osName.indexOf("hp-ux") != -1)
+               {
+                       dfCmd = "bdf";
+                       dfOpts = "";
+               }
+
         // build and run the 'dir' command
         String[] cmdAttribs =
-            (kb ? new String[] {"df", "-k", path} : new String[] {"df", path});
+            (kb ? new String[] {dfCmd, dfOpts, path} : new String[] {dfCmd, 
path});

         // read the output from the command until we come to the second line
         long bytes = -1;


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to