Start(): Setzen des HP-Zaehlers verbessert

Wenn der Start-Haltepunkt die Route ueberschreitet, wird der
HP-Zaehler auf den letzten HP gesetzt, nicht auf -1. Bei der
naechsten Bewegung geht der Transporter dann auf HP 0.

Change-Id: Idd5222b21483cd545fc244059a27d7832499864d
diff --git a/std/transport.c b/std/transport.c
index 1639b40..92bc202 100644
--- a/std/transport.c
+++ b/std/transport.c
@@ -107,7 +107,15 @@
 public varargs void Start(int pos)
 {
   Halt();
-  rpos = (pos >= sizeof(route))?-1:pos-1;
+  // negative pos sind ein Fehler
+  if (pos<0)
+      raise_error(sprintf("Start(): Positionszaehler < 0: %d\n",pos));
+
+  // wenn pos zu gross fuer die Route ist, rpos auf Ende der Route setzen
+  // (i.e. sizeof(route)-1), damit bei der naechsten Bewegung am Anfang der
+  // Route begonnen wird.
+  rpos = min(pos, sizeof(route)-1);
+
   call_out("changeHp",0);
   // Tell TRAVELD our current route
   ReportRoute();