> > MSVCRT's fgets() can handle both "\r\n" and "\n" under text mode, and the
> > magic file is always a text file. Why not use text mode for it?
>
> According to MSDN
> 'fgets reads characters from the current stream position to and including the
> first newline character, to the end of the stream, or until the number of
> characters read is equal to n - 1, whichever comes first.' There is no
> mention of only \r\n or \n handling regardless of the mode of operation.
I've got a MSSDK which contains crt sources, so I've looked into them, and
reached to that point.
> The magic file that comes bundled with Windows distro, originates from a UNIX
> system, meaning that it'll always have \n line endings.
> The data stored in the file may contain binary characters, so the 'b' flag
> adds a level of safety in the event it does contain binary data in the
> future.
Right, IMO the file should consist of ASCII characters, but I agree with
you that the file may contain other characters as long as there's no clear
specification.
Moriyoshi
> Ilia
>
> > Anyway using "r" should be discouraged, because cli and cgi SAPI
> > forcefully set the default CR handling mode to binary with setmode()
> > function while apache SAPI doesn't.
> >
> > Moriyoshi
> >
> > "Ilia A." <[EMAIL PROTECTED]> wrote:
> > > Are you absolutely certain that it is safe to open the magic file as text
> > > and not binary on Windows?
> > >
> > > Ilia
> > >
> > > On November 15, 2002 10:13 am, Moriyoshi Koizumi wrote:
> > > > moriyoshi Fri Nov 15 10:13:31 2002 EDT
> > > >
> > > > Modified files:
> > > > /php4/ext/mime_magic mime_magic.c
> > > > Log:
> > > > Fixed segfault in case the specified magic file cannot be read.
> > > >
> > > >
> > > > Index: php4/ext/mime_magic/mime_magic.c
> > > > diff -u php4/ext/mime_magic/mime_magic.c:1.14
> > > > php4/ext/mime_magic/mime_magic.c:1.15 ---
> > > > php4/ext/mime_magic/mime_magic.c:1.14 Thu Nov 14 20:45:23 2002 +++
> > > > php4/ext/mime_magic/mime_magic.c Fri Nov 15 10:13:30 2002
> > > > @@ -15,7 +15,7 @@
> > > >
> > > > | Author: Hartmut Holzgraefe <[EMAIL PROTECTED]>
> > > > | |
> > > >
> > > >
> > > > +----------------------------------------------------------------------
> > > >+
> > > >
> > > > - $Id: mime_magic.c,v 1.14 2002/11/15 01:45:23 moriyoshi Exp $
> > > > + $Id: mime_magic.c,v 1.15 2002/11/15 15:13:30 moriyoshi Exp $
> > > >
> > > > This module contains a lot of stuff taken from Apache
> > > > mod_mime_magic, so the license section is a little bit longer than
> > > > usual:
> > > > @@ -304,6 +304,11 @@
> > > > return;
> > > > }
> > > >
> > > > + if ((int) conf->magic == -1) {
> > > > + php_error(E_ERROR, MODNAME " could not be initialized, magic
>file %s
> > > > is not avaliable", conf->magicfile); + RETURN_FALSE;
> > > > + }
> > > > +
> > > > if(!conf->magic) {
> > > > php_error(E_WARNING, MODNAME " not initialized");
> > > > RETURN_FALSE;
> > > > @@ -343,10 +348,9 @@
> > > > magic_server_config_rec *conf = &mime_global;
> > > >
> > > > fname = conf->magicfile; /* todo cwd? */
> > > > - f = fopen(fname, "r");
> > > > + f = fopen(fname, "rt");
> > > > if (f == NULL) {
> > > > - php_error(E_WARNING,
> > > > - MODNAME ": can't read magic file %s",
>fname);
> > > > + (int) conf->magic = -1;
> > > > return -1;
> > > > }
> > >
> > > --
> > > PHP CVS Mailing List (http://www.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php
>
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php