The comment in hv_store_string() says that negative key length to hv_store() for UTF-8 is not documented, and mentions that 5.6 doesn't track UTF-8-ness of keys. However, the negative length convention has been documented since 5.16¹, and 5.6 is no longer supported. The attached patch updates the comment to reflect this.
[1]: http://perldoc.perl.org/perlapi.html#hv_store -- "The surreality of the universe tends towards a maximum" -- Skud's Law "Never formulate a law or axiom that you're not prepared to live with the consequences of." -- Skud's Meta-Law
>From 9dfe4c076b5040557dec694dee91701438d658fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dagfinn=20Ilmari=20Manns=C3=A5ker?= <ilm...@ilmari.org> Date: Sun, 13 Mar 2016 02:46:45 +0000 Subject: [PATCH] Fix obsolete wording in PL/Perl hv_store_string comment Negative klen is documented since Perl 5.16, and 5.6 is no longer supported. --- src/pl/plperl/plperl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index 269f7f3..a659695 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -3911,10 +3911,8 @@ hv_store_string(HV *hv, const char *key, SV *val) hkey = pg_server_to_any(key, strlen(key), PG_UTF8); /* - * This seems nowhere documented, but under Perl 5.8.0 and up, hv_store() - * recognizes a negative klen parameter as meaning a UTF-8 encoded key. It - * does not appear that hashes track UTF-8-ness of keys at all in Perl - * 5.6. + * hv_store() recognizes a negative klen parameter as meaning a UTF-8 + * encoded key */ hlen = -(int) strlen(hkey); ret = hv_store(hv, hkey, hlen, val, 0); -- 2.7.0
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers