Change hv_fetch(…, "…", …, …) to hv_fetchs(…, "…", …)
authorDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Sat, 12 Nov 2016 10:47:48 +0000 (11:47 +0100)
committerDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Sat, 12 Nov 2016 11:06:43 +0000 (12:06 +0100)
The dual-life dists all use Devel::PPPort, so they can use this function
even though it was only added in 5.10.

dist/Data-Dumper/Dumper.pm
dist/Data-Dumper/Dumper.xs
dist/Time-HiRes/HiRes.pm
dist/threads/lib/threads.pm
dist/threads/threads.xs
ext/Opcode/Opcode.pm
ext/Opcode/Opcode.xs

index f461969..606abec 100644 (file)
@@ -10,7 +10,7 @@
 package Data::Dumper;
 
 BEGIN {
-    $VERSION = '2.162'; # Don't forget to set version and release
+    $VERSION = '2.163'; # Don't forget to set version and release
 }               # date in POD below!
 
 #$| = 1;
index 25886d7..5a65831 100644 (file)
@@ -1412,53 +1412,53 @@ Data_Dumper_Dumpxs(href, ...)
                && (hv = (HV*)SvRV((SV*)href))
                && SvTYPE(hv) == SVt_PVHV)              {
 
-               if ((svp = hv_fetch(hv, "seen", 4, FALSE)) && SvROK(*svp))
+               if ((svp = hv_fetchs(hv, "seen", FALSE)) && SvROK(*svp))
                    seenhv = (HV*)SvRV(*svp);
                 else
                     style.use_sparse_seen_hash = 1;
-               if ((svp = hv_fetch(hv, "noseen", 6, FALSE)))
+               if ((svp = hv_fetchs(hv, "noseen", FALSE)))
                     style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0);
-               if ((svp = hv_fetch(hv, "todump", 6, FALSE)) && SvROK(*svp))
+               if ((svp = hv_fetchs(hv, "todump", FALSE)) && SvROK(*svp))
                    todumpav = (AV*)SvRV(*svp);
-               if ((svp = hv_fetch(hv, "names", 5, FALSE)) && SvROK(*svp))
+               if ((svp = hv_fetchs(hv, "names", FALSE)) && SvROK(*svp))
                    namesav = (AV*)SvRV(*svp);
-               if ((svp = hv_fetch(hv, "indent", 6, FALSE)))
+               if ((svp = hv_fetchs(hv, "indent", FALSE)))
                     style.indent = SvIV(*svp);
-               if ((svp = hv_fetch(hv, "purity", 6, FALSE)))
+               if ((svp = hv_fetchs(hv, "purity", FALSE)))
                     style.purity = SvIV(*svp);
-               if ((svp = hv_fetch(hv, "terse", 5, FALSE)))
+               if ((svp = hv_fetchs(hv, "terse", FALSE)))
                    terse = SvTRUE(*svp);
-               if ((svp = hv_fetch(hv, "useqq", 5, FALSE)))
+               if ((svp = hv_fetchs(hv, "useqq", FALSE)))
                     style.useqq = SvTRUE(*svp);
-               if ((svp = hv_fetch(hv, "pad", 3, FALSE)))
+               if ((svp = hv_fetchs(hv, "pad", FALSE)))
                     style.pad = *svp;
-               if ((svp = hv_fetch(hv, "xpad", 4, FALSE)))
+               if ((svp = hv_fetchs(hv, "xpad", FALSE)))
                     style.xpad = *svp;
-               if ((svp = hv_fetch(hv, "apad", 4, FALSE)))
+               if ((svp = hv_fetchs(hv, "apad", FALSE)))
                    apad = *svp;
-               if ((svp = hv_fetch(hv, "sep", 3, FALSE)))
+               if ((svp = hv_fetchs(hv, "sep", FALSE)))
                     style.sep = *svp;
-               if ((svp = hv_fetch(hv, "pair", 4, FALSE)))
+               if ((svp = hv_fetchs(hv, "pair", FALSE)))
                     style.pair = *svp;
-               if ((svp = hv_fetch(hv, "varname", 7, FALSE)))
+               if ((svp = hv_fetchs(hv, "varname", FALSE)))
                    varname = *svp;
-               if ((svp = hv_fetch(hv, "freezer", 7, FALSE)))
+               if ((svp = hv_fetchs(hv, "freezer", FALSE)))
                     style.freezer = *svp;
-               if ((svp = hv_fetch(hv, "toaster", 7, FALSE)))
+               if ((svp = hv_fetchs(hv, "toaster", FALSE)))
                     style.toaster = *svp;
-               if ((svp = hv_fetch(hv, "deepcopy", 8, FALSE)))
+               if ((svp = hv_fetchs(hv, "deepcopy", FALSE)))
                     style.deepcopy = SvTRUE(*svp);
-               if ((svp = hv_fetch(hv, "quotekeys", 9, FALSE)))
+               if ((svp = hv_fetchs(hv, "quotekeys", FALSE)))
                     style.quotekeys = SvTRUE(*svp);
-                if ((svp = hv_fetch(hv, "trailingcomma", 13, FALSE)))
+                if ((svp = hv_fetchs(hv, "trailingcomma", FALSE)))
                     style.trailingcomma = SvTRUE(*svp);
-               if ((svp = hv_fetch(hv, "bless", 5, FALSE)))
+               if ((svp = hv_fetchs(hv, "bless", FALSE)))
                     style.bless = *svp;
-               if ((svp = hv_fetch(hv, "maxdepth", 8, FALSE)))
+               if ((svp = hv_fetchs(hv, "maxdepth", FALSE)))
                     style.maxdepth = SvIV(*svp);
-               if ((svp = hv_fetch(hv, "maxrecurse", 10, FALSE)))
+               if ((svp = hv_fetchs(hv, "maxrecurse", FALSE)))
                     style.maxrecurse = SvIV(*svp);
-               if ((svp = hv_fetch(hv, "sortkeys", 8, FALSE))) {
+               if ((svp = hv_fetchs(hv, "sortkeys", FALSE))) {
                     SV *sv = *svp;
                     if (! SvTRUE(sv))
                         style.sortkeys = NULL;
index 095aba7..f2338f5 100644 (file)
@@ -28,7 +28,7 @@ our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
                 stat lstat utime
                );
 
-our $VERSION = '1.9740_01';
+our $VERSION = '1.9740_02';
 our $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -559,7 +559,7 @@ VMS have emulations for it.)
 Here is an example of using C<NVtime> from C:
 
   NV (*myNVtime)(); /* Returns -1 on failure. */
-  SV **svp = hv_fetch(PL_modglobal, "Time::NVtime", 12, 0);
+  SV **svp = hv_fetchs(PL_modglobal, "Time::NVtime", 0);
   if (!svp)         croak("Time::HiRes is required");
   if (!SvIOK(*svp)) croak("Time::NVtime isn't a function pointer");
   myNVtime = INT2PTR(NV(*)(), SvIV(*svp));
index 67086da..9217439 100644 (file)
@@ -5,7 +5,7 @@ use 5.008;
 use strict;
 use warnings;
 
-our $VERSION = '2.09';
+our $VERSION = '2.10';
 my $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
index 5f52192..1745473 100644 (file)
@@ -1083,16 +1083,16 @@ ithread_create(...)
         if (specs) {
             SV **svp;
             /* stack_size */
-            if ((svp = hv_fetch(specs, "stack", 5, 0))) {
+            if ((svp = hv_fetchs(specs, "stack", 0))) {
                 stack_size = SvIV(*svp);
-            } else if ((svp = hv_fetch(specs, "stacksize", 9, 0))) {
+            } else if ((svp = hv_fetchs(specs, "stacksize", 0))) {
                 stack_size = SvIV(*svp);
-            } else if ((svp = hv_fetch(specs, "stack_size", 10, 0))) {
+            } else if ((svp = hv_fetchs(specs, "stack_size", 0))) {
                 stack_size = SvIV(*svp);
             }
 
             /* context */
-            if ((svp = hv_fetch(specs, "context", 7, 0))) {
+            if ((svp = hv_fetchs(specs, "context", 0))) {
                 str = (char *)SvPV_nolen(*svp);
                 switch (*str) {
                     case 'a':
@@ -1112,26 +1112,26 @@ ithread_create(...)
                     default:
                         Perl_croak(aTHX_ "Invalid context: %s", str);
                 }
-            } else if ((svp = hv_fetch(specs, "array", 5, 0))) {
+            } else if ((svp = hv_fetchs(specs, "array", 0))) {
                 if (SvTRUE(*svp)) {
                     context = G_ARRAY;
                 }
-            } else if ((svp = hv_fetch(specs, "list", 4, 0))) {
+            } else if ((svp = hv_fetchs(specs, "list", 0))) {
                 if (SvTRUE(*svp)) {
                     context = G_ARRAY;
                 }
-            } else if ((svp = hv_fetch(specs, "scalar", 6, 0))) {
+            } else if ((svp = hv_fetchs(specs, "scalar", 0))) {
                 if (SvTRUE(*svp)) {
                     context = G_SCALAR;
                 }
-            } else if ((svp = hv_fetch(specs, "void", 4, 0))) {
+            } else if ((svp = hv_fetchs(specs, "void", 0))) {
                 if (SvTRUE(*svp)) {
                     context = G_VOID;
                 }
             }
 
             /* exit => thread_only */
-            if ((svp = hv_fetch(specs, "exit", 4, 0))) {
+            if ((svp = hv_fetchs(specs, "exit", 0))) {
                 str = (char *)SvPV_nolen(*svp);
                 exit_opt = (*str == 't' || *str == 'T')
                                     ? PERL_ITHR_THREAD_EXIT_ONLY : 0;
index 1b9f95f..642b96e 100644 (file)
@@ -6,7 +6,7 @@ use strict;
 
 our($VERSION, @ISA, @EXPORT_OK);
 
-$VERSION = "1.38";
+$VERSION = "1.39";
 
 use Carp;
 use Exporter ();
index 5c8e22d..5928fcf 100644 (file)
@@ -434,7 +434,7 @@ CODE:
 
     if (!SvROK(safe) || !SvOBJECT(SvRV(safe)) || SvTYPE(SvRV(safe))!=SVt_PVHV)
        croak("Not a Safe object");
-    mask = *hv_fetch((HV*)SvRV(safe), "Mask",4, 1);
+    mask = *hv_fetchs((HV*)SvRV(safe), "Mask", 1);
     if (ONLY_THESE)    /* *_only = new mask, else edit current */
        sv_setsv(mask, sv_2mortal(new_opset(aTHX_ PERMITING ? opset_all : Nullsv)));
     else