Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.85k stars 526 forks source link

IO::Handle methods ioctl and fcntl broken. #134

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#939 (status was 'resolved')

Searchable as RT939$

p5pRT commented 24 years ago

From cj10@cam.ac.uk


The module IO​::Handle provides methods ioctl and fcntl.

These methods are not mentioned in the POD\, so I suppose I shouldn't be complaining about them. However\, since one expects them to exist\, they are easy to call by accident. Moreover\, if they worked\, they would be useful.

So\, here goes.

There are two problems.

1. Each method copies its third argument before calling the   corresponding built-in. This is wrong\, because both built-ins   may return results via the third argument. I claim that this   is a plain bug which should be fixed.

2. Each method returns 0 if the corresponding built-in returns   "0 but true". This is a highly surprising difference of spec   from the expected "just front ends for the corresponding   built-in functions". If it isn't a bug it requires careful   documentation.



Site configuration information for perl 5.00503​:

Configured by cj10 at Tue Jun 8 12​:07​:36 BST 1999.

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration​:   Platform​:   osname=solaris\, osvers=2.6\, archname=sun4-solaris   uname='sunos dunlin.csx.cam.ac.uk 5.6 generic_105181-13 sun4u sparc sunw\,ult ra-5_10 '   hint=recommended\, useposix=true\, d_sigaction=define   usethreads=undef useperlio=undef d_sfio=undef   Compiler​:   cc='cc'\, optimize='-O'\, gccversion=   cppflags=''   ccflags =''   stdchar='unsigned char'\, d_stdstdio=define\, usevfork=false   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16   alignbytes=8\, usemymalloc=y\, prototype=define   Linker and Libraries​:   ld='cc'\, ldflags =''   libpth=/usr/lib /usr/ccs/lib   libs=-lsocket -lnsl -ldl -lm -lc -lcrypt   libc=/lib/libc.so\, so=so\, useshrplib=false\, libperl=libperl.a   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags=' '   cccdlflags='-KPIC'\, lddlflags='-G'

Locally applied patches​:  


@​INC for perl 5.00503​:   /pelican/local/lib/perl5/5.00503   /pelican/local/lib/perl5/site_perl/5.005   /pelican/local/lib/perl5/site_perl/5.005   .


Environment for perl 5.00503​:   HOME=/home/cj10   LANG (unset)   LANGUAGE (unset)   LD_LIBRARY_PATH (unset)   LOGDIR (unset)   PATH=/home/cj10/xfer​:/home/cj10/bin​:/pelican/local/bin​:/pelican/perl/bin​:/op t/SUNWspro/bin​:/usr/openwin/bin​:/usr/sbin​:/usr/bin​:/usr/ccs/bin​:/opt/VRTSvmsa/bi n   PERL_BADLANG (unset)   SHELL=/bin/sh

-- Charles Jardine - Computing Service\, University of Cambridge cj10@​cam.ac.uk Tel​: +44 1223 334506\, Fax​: +44 1223 334679