[PATCH 10/12] kernel32: Handle geotypes GEO_ID and GEO_NAME in GetGeoInfoA/W/Ex().

João Diogo Ferreira devilj at outlook.pt
Tue Oct 22 12:43:39 CDT 2019


Also added three other geotypes to the list of known FIXME cases.

Signed-off-by: João Diogo Craveiro Ferreira <devilj at outlook.pt>
---
 dlls/kernel32/locale.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index ea0d7dd30b..752136be07 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -4432,6 +4432,7 @@ static int get_geo_info(const struct geoinfo_t *geoinfo, GEOTYPE geotype, WCHAR
     }
 
     switch (geotype) {
+    case GEO_ID:
     case GEO_NATION:
         val = geoinfo->id;
         break;
@@ -4441,6 +4442,14 @@ static int get_geo_info(const struct geoinfo_t *geoinfo, GEOTYPE geotype, WCHAR
     case GEO_PARENT:
         val = geoinfo->parent;
         break;
+    case GEO_NAME:
+        if (geoinfo->kind == LOCATION_REGION) {
+            sprintfW(buffW, geoname_uncode_fmtW, geoinfo->uncode);
+            str = buffW;
+        }
+        else
+            str = geoinfo->iso2W;
+        break;
     case GEO_ISO2:
     case GEO_ISO3:
     {
@@ -4455,6 +4464,9 @@ static int get_geo_info(const struct geoinfo_t *geoinfo, GEOTYPE geotype, WCHAR
     case GEO_OFFICIALLANGUAGES:
     case GEO_LATITUDE:
     case GEO_LONGITUDE:
+    case GEO_DIALINGCODE:
+    case GEO_CURRENCYCODE:
+    case GEO_CURRENCYSYMBOL:
         FIXME("type %d is not supported\n", geotype);
         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
         return 0;
-- 
2.23.0



More information about the wine-devel mailing list