ID:               24071
 Updated by:       [EMAIL PROTECTED]
 Reported By:      artem at w510 dot tm dot odessa dot ua
-Status:           Closed
+Status:           Open
-Bug Type:         Documentation problem
+Bug Type:         Filesystem function related
 Operating System: redhat
 PHP Version:      4.3.2
 New Comment:

>From code at php-src/main/streams/streams.c:1693 (revision 1.61) it
seems that this is supposed to work (but doesn't).

        if (stream && stream->ops->seek && (stream->flags &
PHP_STREAM_FLAG_NO_SEEK) == 0 && strchr(mode, 'a') && stream->position
== 0) {
                off_t newpos = 0;

                /* if opened for append, we need to revise our idea of the initial
file position */
                if (0 == stream->ops->seek(stream, 0, SEEK_CUR, &newpos TSRMLS_CC))
{
                        stream->position = newpos;
                }
        }

If it will be fixed, reclasify this back to docprob so we can add a
note that it works since version x.x.x.

(Spotted by [EMAIL PROTECTED])


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

[2004-08-07 10:56:50] [EMAIL PROTECTED]

This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.

Thank you for the report, and for helping us make our documentation
better.

"ftell() gives undefined results for append-only streams (opened with
"a" flag)."

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

[2003-06-06 18:33:38] artem at w510 dot tm dot odessa dot ua

maybe,
but i used this without any problem from version 4.0 (one of first) to
store initial append position  - that' about some years...
and it's worked through updates up to 4.2.3

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

[2003-06-06 18:11:03] [EMAIL PROTECTED]

'a' mode forces the kernel to always write at the end of the file.
ftell() will give undefined results for append-only streams, as will
seeking.

Writing to such a file should always be appended, regardless of the
results from ftell().

Making this a documentation problem.

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

[2003-06-06 17:46:09] artem at w510 dot tm dot odessa dot ua

after installing 4.3.2 
 $fr = fopen("filename", "a");
 $pointer = ftell($fr);

points to 0! forced to add

  fseek($fr, 0, SEEK_END);
  $pointer = ftell($fr);

to move to the file end

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


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

Reply via email to