summaryrefslogtreecommitdiff
path: root/lib/DBInfoscreen
diff options
context:
space:
mode:
Diffstat (limited to 'lib/DBInfoscreen')
-rw-r--r--lib/DBInfoscreen/Controller/Stationboard.pm10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm
index 79538a0..c3c720b 100644
--- a/lib/DBInfoscreen/Controller/Stationboard.pm
+++ b/lib/DBInfoscreen/Controller/Stationboard.pm
@@ -993,7 +993,8 @@ sub handle_request {
# stops. This is a rare case, one point where it can be observed is
# the TGV service at Frankfurt/Karlsruhe/Mannheim.
if ( $route_info
- and my @hafas_stations = @{ $route_info->{stations} } )
+ and my @hafas_stations
+ = @{ $route_info->{stations} // [] } )
{
if ( my @iris_stations
= @{ $departures[-1]{route_pre_diff} } )
@@ -1059,7 +1060,7 @@ sub handle_request {
}
}
}
- if ( $route_info and @{ $route_info->{messages} } ) {
+ if ( $route_info and @{ $route_info->{messages} // [] } ) {
my $him = $route_info->{messages};
my @him_messages;
$departures[-1]{messages}{him} = $him;
@@ -1174,6 +1175,11 @@ sub handle_request {
{
$linetype = 'ext';
}
+ elsif ( $departure->{train_line}
+ and $departure->{train_line} =~ m{^S\d} )
+ {
+ $linetype = 'sbahn';
+ }
$self->render(
'_train_details',