Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 18b3ff2673bbc5f9b37c6d9b6c912f882537ddc2 https://github.com/Perl/perl5/commit/18b3ff2673bbc5f9b37c6d9b6c912f882537ddc2 Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths: M doio.c M t/io/sem.t Log Message: ----------- *ctl: ensure the ARG parameter's UTF-8 flag is reset If the SV supplied as ARG had the SVf_UTF8 flag on it would be left on, which would effectively corrupt the returned buffer. Only tested with shmctl(), since the other *ctl() functions only have more complex structures with indeterminate types that would require more effort to test. Commit: 7274dea4b81e86585fcc4c4377c1a9918de3f4af https://github.com/Perl/perl5/commit/7274dea4b81e86585fcc4c4377c1a9918de3f4af Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M doio.c M t/io/sem.t Log Message: ----------- *ctl: test we handle the buffer as bytes Previously this had the "unicode bug", an upgraded string would be treated as the encoding of that string, rather than the raw bytes. Commit: e1902e4ac113e51aa730e03a2b1bc54ec96c371c https://github.com/Perl/perl5/commit/e1902e4ac113e51aa730e03a2b1bc54ec96c371c Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M t/io/sem.t Log Message: ----------- *ctl: test that we throw on a code point above 0xff These functions expect a packed structure of some point representing bytes from the structure in memory. Commit: d43c116b2ae74ec1f3ed78829d4f3ca76f091390 https://github.com/Perl/perl5/commit/d43c116b2ae74ec1f3ed78829d4f3ca76f091390 Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M doio.c M t/io/sem.t Log Message: ----------- io/sem.t: eliminate warnings This eliminates some warnings that semctl() (or other *ctl()) calls might generate, and some warnings specific to io/sem.t: - for IPC_STAT and GETALL, the current value of ARG is overwritten so making an undefined value warning for it nonsensical, so don't use SvPV_force(). - for other calls, ARG is either ignored, or in a behaviour introduced in perl 3 (along with the ops), treats the supplied value as an integer which is then converted to a pointer. Rather than warning on an undef value which is most likely to be ignored we treat the undef as zero without the usual warning. - always pass a number for SEMNUM in the test code I didn't try to eliminate warning for non-numeric/undefined SEMNUM, since while we know it isn't used by SETALL, GETALL, IPC_STAT and IPC_SET, it may or may not be used by system defined *ctl() operators such as SEM_INFO and SHM_LOCK on Linux. fixes #17926 Commit: 61f058724e10981590e6ccf006ce7ed70092fe2b https://github.com/Perl/perl5/commit/61f058724e10981590e6ccf006ce7ed70092fe2b Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M doio.c M t/io/sem.t Log Message: ----------- fix UTF-8 handling for semop() As with semctl(), the UTF-8 flag on the passed in opstring was ignored, which meant that the upgraded version of the same string would cause an error. Just use SvPVbyte(). Commit: 58b73e564c400e9f1e26a50fe882f6aaea2aabf2 https://github.com/Perl/perl5/commit/58b73e564c400e9f1e26a50fe882f6aaea2aabf2 Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M pod/perlfunc.pod Log Message: ----------- perlfunc/msgsnd: the supplied MSG doesn't have a length field The length of the message is derived from the length of the MSG less the size of the type field. Commit: aa058ea4938983be8517ca4ac1dbcdf62cd96da2 https://github.com/Perl/perl5/commit/aa058ea4938983be8517ca4ac1dbcdf62cd96da2 Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M MANIFEST M doio.c A t/io/msg.t Log Message: ----------- msgsnd: handle an upgraded MSG parameter correctly Commit: 6987f4434e4dfee71506125954ee1ae41c46f1cb https://github.com/Perl/perl5/commit/6987f4434e4dfee71506125954ee1ae41c46f1cb Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M doio.c M t/io/msg.t Log Message: ----------- msgrcv: properly downgrade the receive buffer If the receive buffer started with SVf_UTF8 on, the received message SV would stay flagged, corrupting the result. Commit: 0bcc92493f9da3a04237ac3c3281e41581b65192 https://github.com/Perl/perl5/commit/0bcc92493f9da3a04237ac3c3281e41581b65192 Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M doio.c M t/io/shm.t Log Message: ----------- shmwrite: treat the string as bytes Commit: d778a442f27e96241c6f7cfbf890bdf28b31b1a2 https://github.com/Perl/perl5/commit/d778a442f27e96241c6f7cfbf890bdf28b31b1a2 Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M t/io/shm.t Log Message: ----------- io/shm.t: make runnable as ./perl io/shm.t and give editors a hint Commit: 32da1f0cbb3039b18da95a780824c723ee95d127 https://github.com/Perl/perl5/commit/32da1f0cbb3039b18da95a780824c723ee95d127 Author: Tony Cook <t...@develop-help.com> Date: 2020-11-24 (Tue, 24 Nov 2020) Changed paths: M MANIFEST M doio.c M pod/perlfunc.pod A t/io/msg.t M t/io/sem.t M t/io/shm.t Log Message: ----------- Various updates and fixes to some of the SysV IPC ops and their tests Compare: https://github.com/Perl/perl5/compare/617613e2415f...32da1f0cbb30