wrap json deserialize into eval so we don't die on corrupt data
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 24 Jul 2009 09:14:29 +0000 (09:14 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 24 Jul 2009 09:14:29 +0000 (09:14 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@1248 07558da8-63fa-0310-ba24-9fe276d99e06

vhost/webpac2.cgi

index 96cfb85..7c32a6e 100755 (executable)
@@ -282,9 +282,14 @@ if ( my $search = param('search') ) {
 
                while ( my $result = $swish_results->next_result ) {
 
-                       my $data = from_json( $result->property('data'), {utf8 => 1} );
-
+                       my $data = $result->property('data');
                        dump_yaml( 'data', $data );
+                       # FIXME if we produce valid json we shouldn't need eval here!
+                       eval { $data = from_json( $data, {utf8 => 1} ); };
+                       if ( $@ ) {
+                               warn "ERROR: $@ from ",dump( $data );
+                               next;
+                       }
 
                        my $li_class = '';
                        $li_class = qq| class="z"| if $nr % 2 == 0;