summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Travel/Status/DE/IRIS.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Travel/Status/DE/IRIS.pm b/lib/Travel/Status/DE/IRIS.pm
index ec35cac..1706d67 100644
--- a/lib/Travel/Status/DE/IRIS.pm
+++ b/lib/Travel/Status/DE/IRIS.pm
@@ -212,7 +212,13 @@ sub get_station {
my $iter_depth = 0;
my @ret;
my @queue = ( $opt{name} );
- my @seen;
+
+ # @seen holds station IDs which were already seen during recursive
+ # 'meta' descent. This avoids infinite loops of 'meta' references.
+ # As Norddeich and Norddeich Mole are illegaly coupled in the backend
+ # (they are different stations with different departure times), we pre-seed
+ # @seen with their eva IDs.
+ my @seen = ( 8007768, 8004449 );
while ( @queue and $iter_depth < 12 ) {
my $station = shift(@queue);