ID:               41493
 Updated by:       [EMAIL PROTECTED]
 Reported By:      tayloj1 at uk dot ibm dot com
-Status:           Verified
+Status:           Open
-Bug Type:         Filesystem function related
+Bug Type:         Feature/Change Request
 Operating System: linux
 PHP Version:      5.2.2
 New Comment:

Reclassified as feature request.
At the moment I see no reasons to apply some hacks to make it work on
Win32 the way it works on decent platforms.


Previous Comments:
------------------------------------------------------------------------

[2007-05-29 13:13:53] tayloj1 at uk dot ibm dot com

Editing submission to change bug category from 'Documentation' to
'Filesystem function related', and to update Summary line.

As per preceding discussion, please change implementation of function
disk_free_space()so that the behaviour is the same for Linux, OS2 and
Windows. Ideal result would be for all 3 OS's to accept a directory or
filename as input, ref. rquadling comment, 29 May 10:35am. 

If this is implemented, then please update doc also: 

"Given a string containing a directory <insert: "or filename">, this
function will return the number of bytes available in the corresponding
filesystem or disk partition.  "

------------------------------------------------------------------------

[2007-05-29 11:55:03] [EMAIL PROTECTED]

I would raise a bug as 2 of the 3 os's which have different
implementations of this function support the supplying of a filename.
Only windows has (is?) the problem.

And it makes sense to ask how much space in on the drive holding a
file.

------------------------------------------------------------------------

[2007-05-29 11:09:10] tayloj1 at uk dot ibm dot com

OK, then please  - either  -  

(1) fix the function to make Linux implementation behave the same way
as Windows (eg. by adding a check to stop Linux users supplying a
filename). 

- or - 

(2) add the following text (instead of my previous suggestion): 

"Given a file name instead of a directory, the behaviour of the
function is unspecified and may differ between operating systems and PHP
versions. "

Please advise your preference, I'm happy to raise a bug against the
implementation if required.

------------------------------------------------------------------------

[2007-05-29 11:02:51] tayloj1 at uk dot ibm dot com

OK, then please  - either  -  

(1) fix the function to make Linux implementation behave the same way
as Windows (eg. by adding a check to stop Linux users supplying a
filename). 

- or - 

(2) add the following text (instead of my previous suggestion): 

"Given a file name instead of a directory, the behaviour of the
function is unspecified and may differ between operating systems and PHP
versions. "

Please advise your prefererence, I'm happy to raise a bug against the
implementation if required.

------------------------------------------------------------------------

[2007-05-29 10:35:31] [EMAIL PROTECTED]

Is there any reason why both OS's cannot perform in the same manner?

In checking filestat.c (/* $Id: filestat.c,v 1.160 2007/02/26 20:35:41
tony2001 Exp $ */), for OS2, only the first character of the path is
used (char drive = path[0] & 95;).

Linux accepts a full path.
OS2 accepts a full path, but only uses the drive part.
Windows doesn't accept a full path, but could by checking to see if the
supplied path is a file (php_stat() would do that) and if so, chop off
the filename and try that.

Alternatively, only do the chopping part if the original test fails.



------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/41493

-- 
Edit this bug report at http://bugs.php.net/?id=41493&edit=1

Reply via email to