소스 검색

libgis: fix G_units segfault when units are not identified; recognize metre as meter

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@58633 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 11 년 전
부모
커밋
d7f12d9989
1개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  1. 5 3
      lib/gis/proj3.c

+ 5 - 3
lib/gis/proj3.c

@@ -57,9 +57,11 @@ const char *G_database_unit_name(int plural)
 	if (!name)
 	    return plural ? _("units") : _("unit");
 	
-	if (strcasecmp(name, "meter") == 0 || strcasecmp(name, "meters") == 0)
+	if (strcasecmp(name, "meter") == 0 || strcasecmp(name, "metre") == 0 
+            || strcasecmp(name, "meters") == 0 || strcasecmp(name, "metres") == 0)
 	    units = U_METERS;
-	else if (strcasecmp(name, "kilometer") == 0 || strcasecmp(name, "kilometers") == 0)
+	else if (strcasecmp(name, "kilometer") == 0 || strcasecmp(name, "kilometre") == 0
+                 || strcasecmp(name, "kilometers") == 0 || strcasecmp(name, "kilometres") == 0)
 	    units = U_KILOMETERS;
 	else if (strcasecmp(name, "acre") == 0 || strcasecmp(name, "acres") == 0)
 	    units = U_ACRES;
@@ -72,7 +74,7 @@ const char *G_database_unit_name(int plural)
 	else if (strcasecmp(name, "degree") == 0 || strcasecmp(name, "degrees") == 0)
 	    units = U_DEGREES;
 	else
-	    units = U_UNDEFINED;
+	    units = U_UNKNOWN;
     }
     
     return G_get_units_name(units, plural, FALSE);