]> git.nbdom.net Git - nb.git/commitdiff
Fix argsAdd splice not working
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 29 May 2024 07:50:02 +0000 (09:50 +0200)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 29 May 2024 07:50:02 +0000 (09:50 +0200)
lib/perl/NB/CGI.pm

index d68809788cfd718e30dd2ebe1ead92ec01d7c98c..9d3f9fe4dec9cf6a2963736008e2f0b7502cfeb5 100644 (file)
@@ -157,16 +157,30 @@ sub args2hash {
 
 sub argsAdd {
        my $p = shift;
+       #my $p = $_[0];shift;
        my $key = shift; $key = "-$key";
        my $val = shift;
 
        # Delete existing
-       for (my $i=0;$i<@$p-1;$i++)
+
+# NB 29.05.24: splice not working ????  
+       #for (my $i=0;$i<@$p-1;$i++)
+       # NB 29.05.24 for (my $i=0;$i<@$p-1;$i=$i+2)
+       # NB 29.05.24 {
+               # NB 29.05.24 next if $p->[$i] ne $key;
+               # NB 29.05.24 warn ">>$i: ".$p->[$i]."==$key: $val";
+               # NB 29.05.24 splice(@$p,$i,2);
+       # NB 29.05.24 }
+
+       my @newp;
+       for (my $i=0;$i<@$p-1;$i=$i+2)
        {
-               next if $p->[$i] ne $key;
-               splice(@$p,$i,2);
+               next if $p->[$i] eq $key;
+               push(@newp,$p->[$i],$p->[$i+1]);
        }
+       @$p = @newp;
 
+       #use Data::Dumper; warn Dumper($key,$val,$p);
        # Add new one
        #push(@$p,$key,$val);
        unshift(@$p,$key,$val);
@@ -194,6 +208,7 @@ sub header {
                %p = &argsAdd(\@p,'expires','now');
                #&CGI::cache(0); # we dont want doubles headers
        }
+       #warn map("$_\n",@p);
        #warn join('|',@p);
        #warn join('|',keys(%p));
        #die join('|',keys(%p));