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

I've also add the note to fseek().


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

[2004-08-07 14:48:15] [EMAIL PROTECTED]

Read my lips...
Using ftell() and fseek() on append mode streams is undefined.
Period.


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

[2004-08-07 11:39:38] [EMAIL PROTECTED]

>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])

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

[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.

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

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/24071

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

Reply via email to