From 82425ef3f97ba240847b7de6d4a119e4e5f0e468 Mon Sep 17 00:00:00 2001
From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org>
Date: Thu, 18 May 2000 10:33:07 +0200
Subject: [PATCH] bugfix ;)

Rev: lib/modules/Geography.pmod/Position.pike:1.2
---
 lib/modules/Geography.pmod/Position.pike | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/modules/Geography.pmod/Position.pike b/lib/modules/Geography.pmod/Position.pike
index ec360f278b..9ce29d8266 100644
--- a/lib/modules/Geography.pmod/Position.pike
+++ b/lib/modules/Geography.pmod/Position.pike
@@ -31,9 +31,11 @@ void create(int|float|string _lat,void|int|float|string _long)
       if (zero_type(_long))
       {
 	 string tmp;
-	 if (sscanf(_lat,"%sN %s",tmp,_long)==2) _long=tmp+"N";
-	 else if (sscanf(_lat,"%sS %s",tmp,_long)==2) _long=tmp+"N";
-	 else if (sscanf(_lat,"%s %s",tmp,_long)==2) _long=tmp;
+	 if (sscanf(_lat,"%sN %s",tmp,_long)==2) _lat=tmp+"N";
+	 else if (sscanf(_lat,"%sS %s",tmp,_long)==2) _lat=tmp+"S";
+	 else if (sscanf(_lat,"%sW %s",tmp,_lat)==2) _long=tmp+"W";
+	 else if (sscanf(_lat,"%sE %s",tmp,_lat)==2) _long=tmp+"N";
+	 else if (sscanf(_lat,"%s %s",tmp,_long)==2) _lat=tmp;
       }
       _lat=dwim(_lat,"NS");
       if (stringp(_lat))
@@ -165,6 +167,6 @@ int `>(object pos)
 string _sprintf(int t)
 {
    if (t=='O')
-      return "Position("+longitude()+", "+latitude()+")";
+      return "Position("+latitude()+", "+longitude()+")";
    return 0;
 }
-- 
GitLab