for (i=0; i < PerlIO_known_layers->cur; i++)
{
PerlIO_funcs *f = PerlIO_known_layers->array[i].funcs;
- if (strEQ(f->name,name))
+ if (memEQ(f->name,name,len))
{
PerlIO_debug("%.*s => %p\n",(int)len,name,f);
return f;
PerlIO_funcs *osLayer = &PerlIO_unix;
PerlIO_def_layerlist = PerlIO_list_alloc();
PerlIO_define_layer(aTHX_ &PerlIO_unix);
-#ifdef WIN32
+#if defined(WIN32) && !defined(UNDER_CE)
PerlIO_define_layer(aTHX_ &PerlIO_win32);
#if 0
osLayer = &PerlIO_win32;
if (!names && (O_TEXT != O_BINARY && (mode & O_BINARY)))
{
PerlIO *top = f;
- PerlIOl *l;
- while ((l = *top))
+ while (*top)
{
if (PerlIOBase(top)->tab == &PerlIO_crlf)
{
{
PerlIOUnix *s = PerlIOSelf(f,PerlIOUnix);
s->fd = PerlIO_fileno(PerlIONext(f));
- s->oflags = PerlIOUnix_oflags(mode);
+ /* XXX could (or should) we retrieve the oflags from the open file handle
+ rather than believing the "mode" we are passed in?
+ XXX Should the value on NULL mode be 0 or -1? */
+ s->oflags = mode ? PerlIOUnix_oflags(mode) : -1;
}
PerlIOBase(f)->flags |= PERLIO_F_OPEN;
return code;