# HG changeset patch # User Alpar Juttner # Date 1255357582 -3600 # Node ID 4ffd9b129fa804c2c40d10eda3ba733a695b1f99 # Parent 1c247d3e4bbdee4f65a27286f757aab23fbe2d07# Parent 41bdb4d6c8c32c29a1eaebc3eef9bef7ef1f9862 Merge bugfix in #250 diff -r 1c247d3e4bbd -r 4ffd9b129fa8 lemon/path.h --- a/lemon/path.h Tue May 05 07:43:28 2009 +0100 +++ b/lemon/path.h Mon Oct 12 15:26:22 2009 +0100 @@ -1015,18 +1015,20 @@ /// \brief The source of a path /// - /// This function returns the source of the given path. + /// This function returns the source node of the given path. + /// If the path is empty, then it returns \c INVALID. template typename Digraph::Node pathSource(const Digraph& digraph, const Path& path) { - return digraph.source(path.front()); + return path.empty() ? INVALID : digraph.source(path.front()); } /// \brief The target of a path /// - /// This function returns the target of the given path. + /// This function returns the target node of the given path. + /// If the path is empty, then it returns \c INVALID. template typename Digraph::Node pathTarget(const Digraph& digraph, const Path& path) { - return digraph.target(path.back()); + return path.empty() ? INVALID : digraph.target(path.back()); } /// \brief Class which helps to iterate through the nodes of a path