fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)
fu ([personal profile] fu) wrote in [site community profile] changelog2010-10-27 05:06 am

[dw-free] clean up log messages that appear when global warnings are on

[commit: http://hg.dwscoalition.org/dw-free/rev/20a54f707bd3]

http://bugs.dwscoalition.org/show_bug.cgi?id=3040

More grab-bag of cleanup for warnings.

Patch by [personal profile] kareila.

Files modified:
  • cgi-bin/LJ/Widget.pm
  • cgi-bin/LJ/Widget/Location.pm
  • cgi-bin/htmlcontrols.pl
  • cgi-bin/ljtimeutil.pl
  • cgi-bin/weblib.pl
--------------------------------------------------------------------------------
diff -r b1f45a6d5be9 -r 20a54f707bd3 cgi-bin/LJ/Widget.pm
--- a/cgi-bin/LJ/Widget.pm	Wed Oct 27 12:45:17 2010 +0800
+++ b/cgi-bin/LJ/Widget.pm	Wed Oct 27 13:06:08 2010 +0800
@@ -331,6 +331,7 @@ sub is_disabled {
     my $class = shift;
 
     my $subclass = $class->subclass;
+    return 0 unless $subclass;
     return $LJ::WIDGET_DISABLED{$subclass} ? 1 : 0;
 }
 
diff -r b1f45a6d5be9 -r 20a54f707bd3 cgi-bin/LJ/Widget/Location.pm
--- a/cgi-bin/LJ/Widget/Location.pm	Wed Oct 27 12:45:17 2010 +0800
+++ b/cgi-bin/LJ/Widget/Location.pm	Wed Oct 27 13:06:08 2010 +0800
@@ -217,7 +217,8 @@ sub handle_post {
 
     return if $class->error_list;
 
-    $post->{'timezone'} = "" unless grep { $post->{'timezone'} eq $_ } DateTime::TimeZone::all_names();
+    $post->{timezone} = "" unless $post->{timezone} &&
+        grep { $post->{timezone} eq $_ } DateTime::TimeZone::all_names();
 
     # check if specified country has states
     if ($regions_cfg) {
diff -r b1f45a6d5be9 -r 20a54f707bd3 cgi-bin/htmlcontrols.pl
--- a/cgi-bin/htmlcontrols.pl	Wed Oct 27 12:45:17 2010 +0800
+++ b/cgi-bin/htmlcontrols.pl	Wed Oct 27 13:06:08 2010 +0800
@@ -122,14 +122,14 @@ sub html_datetime_decode
 {
     my $opts = shift;
     my $hash = shift;
-    my $name = $opts->{'name'};
+    my $name = $opts->{name} || '';
     return sprintf("%04d-%02d-%02d %02d:%02d:%02d",
-                   $hash->{"${name}_yyyy"},
-                   $hash->{"${name}_mm"},
-                   $hash->{"${name}_dd"},
-                   $hash->{"${name}_hh"},
-                   $hash->{"${name}_nn"},
-                   $hash->{"${name}_ss"});
+                   $hash->{"${name}_yyyy"} || 0,
+                   $hash->{"${name}_mm"}   || 0,
+                   $hash->{"${name}_dd"}   || 0,
+                   $hash->{"${name}_hh"}   || 0,
+                   $hash->{"${name}_nn"}   || 0,
+                   $hash->{"${name}_ss"}   || 0 );
 }
 
 # <LJFUNC>
diff -r b1f45a6d5be9 -r 20a54f707bd3 cgi-bin/ljtimeutil.pl
--- a/cgi-bin/ljtimeutil.pl	Wed Oct 27 12:45:17 2010 +0800
+++ b/cgi-bin/ljtimeutil.pl	Wed Oct 27 13:06:08 2010 +0800
@@ -72,6 +72,12 @@ sub mysqldate_to_time {
     my ($string, $gmt) = @_;
     return undef unless $string =~ /^(\d\d\d\d)-(\d\d)-(\d\d)(?: (\d\d):(\d\d)(?::(\d\d))?)?$/;
     my ($y, $mon, $d, $h, $min, $s) = ($1, $2, $3, $4, $5, $6);
+
+    # these need to be set to zero if undefined, to avoid warnings
+    $h   ||= 0;
+    $min ||= 0;
+    $s   ||= 0;
+
     my $calc = sub {
         $gmt ?
             Time::Local::timegm($s, $min, $h, $d, $mon-1, $y) :
diff -r b1f45a6d5be9 -r 20a54f707bd3 cgi-bin/weblib.pl
--- a/cgi-bin/weblib.pl	Wed Oct 27 12:45:17 2010 +0800
+++ b/cgi-bin/weblib.pl	Wed Oct 27 13:06:08 2010 +0800
@@ -129,7 +129,9 @@ sub auto_linkify
             return "<a href='$str'>$str</a>";
         }
     };
-    $str =~ s!https?://[^\s\'\"\<\>]+[a-zA-Z0-9_/&=\-]! $match->($&); !ge;
+    $str =~ s!https?://[^\s\'\"\<\>]+[a-zA-Z0-9_/&=\-]! $match->($&); !ge
+        if defined $str;
+
     return $str;
 }
 
@@ -1384,8 +1386,8 @@ MOODS
             };
 
             my $comment_settings_journaldefault = sub {
-                return "Disabled" if $opts->{'prop_opt_default_nocomments'} eq 'N';
-                return "No Email" if $opts->{'prop_opt_default_noemail'} eq 'N';
+                return "Disabled" if $opts->{prop_opt_default_nocomments} && $opts->{prop_opt_default_nocomments} eq 'N';
+                return "No Email" if $opts->{prop_opt_default_noemail} && $opts->{prop_opt_default_noemail} eq 'N';
                 return "Enabled";
             };
 
@@ -1418,10 +1420,12 @@ MOODS
             # Comment Screening settings
             $out .= "<span class='inputgroup-right'>\n";
             $out .= "<label for='prop_opt_screening' class='left options'>" . BML::ml('entryform.comment.screening2') . "</label>\n";
-            my $screening_levels_default = $opts->{'prop_opt_default_screening'} eq 'N' ? BML::ml('label.screening.none2') :
-                    $opts->{'prop_opt_default_screening'} eq 'R' ? BML::ml('label.screening.anonymous2') :
-                    $opts->{'prop_opt_default_screening'} eq 'F' ? BML::ml('label.screening.nonfriends2') :
-                    $opts->{'prop_opt_default_screening'} eq 'A' ? BML::ml('label.screening.all2') : BML::ml('label.screening.none2');
+            my $opt_default_screen = $opts->{prop_opt_default_screening} || '';
+            my $screening_levels_default =
+                    $opt_default_screen eq 'N' ? BML::ml('label.screening.none2') :
+                    $opt_default_screen eq 'R' ? BML::ml('label.screening.anonymous2') :
+                    $opt_default_screen eq 'F' ? BML::ml('label.screening.nonfriends2') :
+                    $opt_default_screen eq 'A' ? BML::ml('label.screening.all2') : BML::ml('label.screening.none2');
             my @levels = ('', BML::ml('label.screening.default4', {'aopts'=>$screening_levels_default}), 'N', BML::ml('label.screening.none2'),
                       'R', BML::ml('label.screening.anonymous2'), 'F', BML::ml('label.screening.nonfriends2'),
                       'A', BML::ml('label.screening.all2'));
@@ -2075,13 +2079,13 @@ sub entry_form_decode
     }
 
     $req->{"prop_opt_preformatted"} ||= $POST->{'switched_rte_on'} ? 1 :
-        $POST->{'event_format'} eq "preformatted" ? 1 : 0;
-    $req->{"prop_opt_nocomments"}   ||= $POST->{'comment_settings'} eq "nocomments" ? 1 : 0;
-    $req->{"prop_opt_noemail"}      ||= $POST->{'comment_settings'} eq "noemail" ? 1 : 0;
+        $POST->{event_format} && $POST->{event_format} eq "preformatted" ? 1 : 0;
+    $req->{"prop_opt_nocomments"}   ||= $POST->{comment_settings} && $POST->{comment_settings} eq "nocomments" ? 1 : 0;
+    $req->{"prop_opt_noemail"}      ||= $POST->{comment_settings} && $POST->{comment_settings} eq "noemail" ? 1 : 0;
     $req->{'prop_opt_backdated'}      = $POST->{'prop_opt_backdated'} ? 1 : 0;
 
     if ( LJ::is_enabled( 'adult_content' ) ) {
-        $req->{prop_adult_content} = $POST->{prop_adult_content};
+        $req->{prop_adult_content} = $POST->{prop_adult_content} || '';
         $req->{prop_adult_content} = ""
             unless $req->{prop_adult_content} eq "none" || $req->{prop_adult_content} eq "concepts" || $req->{prop_adult_content} eq "explicit";
 
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
No Subject Icon Selected
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org