OSDN Git Service

* Model::Cowrapper: fix _decode_param() to work correctly
authorhylom <hylom@users.sourceforge.jp>
Thu, 27 Jul 2017 10:03:41 +0000 (19:03 +0900)
committerhylom <hylom@users.sourceforge.jp>
Thu, 27 Jul 2017 10:03:41 +0000 (19:03 +0900)
src/newslash_web/lib/Newslash/Model/Cowrapper.pm

index 195c40a..fca9953 100644 (file)
@@ -374,7 +374,7 @@ sub build_where_clause {
             if (defined $params->{$uniques}) {
                 my ($c, $v) = _decode_param($uniques, $params->{$uniques});
                 push @clauses, $c if $c;
-                push @values, $v if $v;
+                push @values, $v if defined $v;
                 $unique = 1;
             }
         }
@@ -383,7 +383,7 @@ sub build_where_clause {
                 if (defined $params->{$k}) {
                     my ($c, $v) = _decode_param($k, $params->{$k});
                     push @clauses, $c if $c;
-                    push @values, $v if $v;
+                    push @values, $v if defined $v;
                     $unique = 1;
                 }
             }
@@ -393,7 +393,7 @@ sub build_where_clause {
                 if (defined $params->{$k}) {
                     my ($c, $v) = _decode_param($uniques->{$k}, $params->{$k});
                     push @clauses, $c if $c;
-                    push @values, $v if $v;
+                    push @values, $v if defined $v;
                     $unique = 1;
                 }
             }
@@ -405,7 +405,7 @@ sub build_where_clause {
             if (defined $params->{$keys}) {
                 my ($c, $v) = _decode_param($keys, $params->{$keys});
                 push @clauses, $c if $c;
-                push @values, $v if $v;
+                push @values, $v if defined $v;
             }
         }
         elsif (ref($keys) eq 'ARRAY') {
@@ -413,7 +413,7 @@ sub build_where_clause {
                 if (defined $params->{$k}) {
                     my ($c, $v) = _decode_param($k, $params->{$k});
                     push @clauses, $c if $c;
-                    push @values, $v if $v;
+                    push @values, $v if defined $v;
                 }
             }
         }
@@ -422,7 +422,7 @@ sub build_where_clause {
                 if (defined $params->{$k}) {
                     my ($c, $v) = _decode_param($keys->{$k}, $params->{$k});
                     push @clauses, $c if $c;
-                    push @values, $v if $v;
+                    push @values, $v if defined $v;
                 }
             }
         }
@@ -453,7 +453,7 @@ sub build_where_clause {
 }
 
 sub _decode_param {
-    my ($key, $value) = shift;
+    my ($key, $value) = @_;
     my ($c, $v);
 
     # simply equal clause